Perangkat Audio

Google Cast untuk perangkat audio hanya mendukung pemutaran audio. Panduan ini menjelaskan cara mengoptimalkan aplikasi Cast untuk perangkat khusus audio dan memanfaatkan pengurangan permintaan terhadap penggunaan bandwidth jaringan, CPU, dan memori.

Aplikasi yang mendukung Google Cast untuk audio harus melakukan hal berikut pertimbangan:

  • Google Cast untuk perangkat audio tidak menampilkan video atau grafik. Namun, banyak perangkat audio memiliki tampilan untuk menunjukkan metadata, seperti pemutaran status (diputar atau dijeda) dan kemajuan. Aplikasi Anda tidak boleh menampilkan informasi pengguna yang penting hanya pada penerima; informasi penting, dan sebagian besar antarmuka pengguna, harus ditampilkan pada pengirim.
  • Untuk menjalankan aplikasi Penerima Web dengan benar, Google Cast untuk perangkat audio tetap harus merender grafis, meskipun tidak ditampilkan. Sejak perangkat itu mungkin tidak mendukung operasi grafis dengan akselerasi perangkat keras, aplikasi penerima harus menghindari penggunaan operasi grafis yang intensif seperti gradien warna, rotasi, pencampuran alfa, dan menggambar ulang objek seperti bilah kemajuan lebih dari sekali per detik.
  • Google Cast untuk perangkat audio hanya mendukung Widevine untuk Hak Digital Konten yang dilindungi manajemen (DRM).
  • Untuk sebagian besar Google Cast untuk perangkat audio, aplikasi pengirim mengontrol rentang volume penuh perangkat (misalnya speaker), bukan hanya volume input sumber audio ke TV, seperti pada perangkat Chromecast.
  • Selain mengontrol pemutaran dengan perangkat pengirim (ponsel, untuk (misalnya), aplikasi mungkin harus menyediakan untuk mengontrol pemutaran dengan pengontrol perangkat itu sendiri seperti {i> remote control<i}, tombol di perangkat, atau aplikasi jarak jauh eksternal.
  • Google Cast untuk perangkat audio mungkin mendukung penayangan metadata konten dengan layar LCD kecil, output HDMI (untuk soundbar atau audio-video penerima), atau aplikasi jarak jauh eksternal, tergantung pada UI perangkat.

Pengembangan

Langkah pertama dalam mengembangkan aplikasi Cast guna mendukung Google Cast untuk audio adalah mengembangkan aplikasi Cast untuk audio-video, dan memastikan bahwa aplikasi berjalan di sebuah Chromecast. Dokumen ini mengasumsikan bahwa Anda telah mengembangkan dan menguji aplikasi semacam itu.

Aplikasi dapat mendukung perangkat audio-video dan audio saja. Manajemen proyek perlu mengetahui saat melakukan transmisi ke salah satunya dan mengambil tindakan untuk memastikan pengalaman pengguna sesuai skenario yang diberikan.

Misalnya, aplikasi video dan audio ganda (seperti pemutaran file lokal/NAS aplikasi) harus mengaktifkan transmisi ke perangkat khusus audio untuk mendukung memutar file audio, namun aplikasi seharusnya tidak mengizinkan pengguna mengirim file video ke perangkat khusus audio. Aplikasi tersebut dapat menggunakan API kemampuan perangkat untuk pengirim di bawah untuk menentukan konten yang sesuai untuk perangkat.

Agar dapat mendukung Google Cast untuk audio, aplikasi Anda harus melakukan hal berikut:

  • Mendukung hanya audio: streaming file musik dan audio, radio, dll. Media yang di-streaming ke aplikasi Penerima Web tidak boleh berupa streaming video. Selain itu, hindari streaming grafis dan gambar untuk mempercepat waktu peluncuran aplikasi dan penggunaan memori. Lihat Panduan penggunaan memori, di bawah.

  • Jalankan seperti yang diharapkan di Cast untuk perangkat audio serta Chromecast biasa.

Kemampuan perangkat

Aplikasi Anda dapat mengetahui apakah berjalan di perangkat khusus audio berdasarkan API kemampuan perangkat, yang tersedia dari perangkat itu sendiri atau melalui pengirim penerima atau API penerima.

Header HTTP perangkat

Header HTTP CAST-DEVICE-CAPABILITIES yang disediakan oleh perangkat Transmisi selama peluncuran aplikasi menjelaskan kemampuan perangkat. Perangkat mengirimkan permintaan dengan {i>header<i} ini ke server yang menghosting aplikasi {i>Web Receiver<i}. {i>Header<i} untuk perangkat khusus audio menjelaskan kemampuan perangkat dengan CAST-DEVICE-CAPABILITIES: {"display_supported":false}.

Saat server Anda menerima permintaan dari perangkat, Anda bisa menggunakan informasi di header ini untuk mengalihkan permintaan ke aplikasi Web Receiver yang dioptimalkan untuk perangkat audio.

API Penerima Web

Anda bisa mendapatkan objek kemampuan perangkat yang sama dengan memanggil CastReceiverManager.getDeviceCapabilities() saat aplikasi Web Receiver dimuat.

Lihat Kemampuan perangkat untuk mengetahui informasi selengkapnya tidak akurat atau tidak sesuai.

API Pengirim

Setiap API pengirim Cast juga memiliki informasi kemampuan perangkat. Hal ini memungkinkan aplikasi pengirim menentukan jenis media yang akan dikirim ke penerima. Jika aplikasi Anda mendukung audio dan video, aplikasi tersebut dapat menghindari pengiriman konten video ke di perangkat khusus audio. Selain itu, aplikasi Anda dapat mengontrol volume menggunakan metode yang paling sesuai untuk perangkat, seperti yang dijelaskan dalam Checklist Desain. Lihat API kemampuan perangkat berikut untuk pengirim:

Panduan penggunaan memori

Aplikasi Penerima Web yang berjalan di perangkat audio harus mengelola penggunaan memori sebagai berikut:

  • Hindari mendownload atau menggunakan aset gambar atau grafis apa pun, untuk mengurangi memori dan mempersingkat waktu hingga pemutaran dimulai.
  • Saat menggunakan Ekstensi Sumber Media (MSE), aplikasi harus membatasi streaming buffer hingga 2 MB. Jika menggunakan Library Pemutar Media (MPL), paket ukuran stream buffer sudah ditentukan oleh MPL.
  • Saat menggunakan HTMLMediaElement, ukuran buffer streaming aplikasi ditentukan oleh Chrome berdasarkan kecepatan streaming. Batasi kecepatan bit audio menjadi 2 megabit per kedua, yang mendukung semua codec yang dijelaskan di Media yang Didukung (hingga 48 KHz/16 bit).

Kontrol volume

Bagi sebagian besar Google Cast untuk perangkat audio, aplikasi pengirim mengontrol rentang volume penuh perangkat, bukan hanya volume input sumber audio, seperti pada Perangkat Chromecast. Ini berarti penambahan perubahan volume harus lebih kecil untuk aplikasi khusus audio. Lihat dokumen berikut untuk pedoman tentang pemberian kontrol volume di aplikasi Anda:

Kontrol perangkat

Google Cast untuk perangkat audio mungkin memiliki kontrol pemutarannya sendiri (seperti tombol, remote). Ini menggunakan pesan pemutaran media yang ditentukan untuk Namespace urn:x-cast:com.google.cast.media, seperti yang dijelaskan di Pesan Pemutaran Media, untuk mengontrol pemutaran pada aplikasi penerima. Aplikasi penerima Anda harus mendukung pesan pemutaran media ini untuk mendukung kontrol pemutaran perangkat.

Selain itu, aplikasi pengirim Anda harus mendukung Pesan dari penerima ke pengirim sehingga jika pengguna mengubah status media dengan kontrol perangkat, aplikasi pengirim dapat menerima pesan status dari penerima dan memperbarui UI sebagaimana mestinya.

Tampilan perangkat

Google Cast untuk perangkat audio mungkin memiliki layar LCD di perangkat atau aplikasi kontrol perangkat tertentu yang menampilkan {i>metadata<i} media. Penerima Anda aplikasi harus menyediakan metadata ini untuk semua trek audio dan memastikannya sinkron dengan konten yang sedang diputar untuk memastikan metadata ditampilkan pada layar dengan tepat. Jika aplikasi menggunakan metadata khusus, metadata audio standar juga (nama lagu, nama artis, album) judul, dll.) sebagaimana dijelaskan untuk setiap platform di bawah ini.

Penerima mendapatkan metadata dari pengirim saat memuat media. Di beberapa aplikasi pengirim Anda, dengan perintah untuk memuat media pada penerima, Anda harus menentukan bidang yang dijelaskan di bawah ini sehingga metadata akan ditampilkan pada Google Cast untuk perangkat audio. Gunakan API berikut:

Jika aplikasi Cast mengelola antrean media di penerima atau di cloud, Penerima Web harus menyiarkan pembaruan status media apa pun menggunakan urn:x-cast:com.google.cast.media sehingga semua pengirim akan disinkronkan.

Pendaftaran

Anda harus mendaftarkan Google Cast untuk perangkat audio guna pengujian dan pendaftaran aplikasi Anda guna mendukung Google Cast untuk perangkat audio, dengan menggunakan Konsol Developer SDK Google Cast.

  • Lihat Perangkat untuk mengetahui informasi selengkapnya tentang mendaftarkan perangkat.
  • Anda harus mencentang kotak Mendukung transmisi ke perangkat khusus audio saat mendaftarkan aplikasi agar aplikasi Anda dapat menemukan Google Cast untuk perangkat audio. Lihat Mendaftarkan permohonan.

Untuk aplikasi yang batal dipublikasikan, seperti yang digunakan untuk pengujian, Anda juga harus memilih untuk mendukung perangkat khusus audio agar aplikasi dapat menemukan di perangkat khusus audio.

Google Cast untuk Audio 2.0

Google Cast for Audio (GC4A) 2.0 adalah platform audio Cast generasi berikutnya yang dirancang untuk menargetkan perangkat dengan memori rendah, untuk memperluas ekosistem perangkat dapat men-streaming konten Anda. Karena GC4A 2.0 menargetkan platform audio, API web disetel agar selaras dengan perangkat tanpa layar. GC4A 2.0 diluncurkan ke dan speaker yang sudah mendukung transmisi.

Pengujian dan Proses Debug

Karena semua pembicara yang didukung akan bertransisi ke GC4A 2.0, penting pengembang aplikasi audio menguji aplikasi mereka di GC4A 2.0. Anda dapat menguji aplikasi Cast untuk GC4A 2.0 pada speaker Wi-Fi Bose produksi, JBL Charge 5 Wi-Fi, JBL Authentics, Cambridge Audio, Teuful Motiv Home, LG 2024 Soundbar.

GC4A 2.0 tidak mendukung Debugger Jarak Jauh Chrome. Jika Anda ingin men-debug Google, sebaiknya gunakan Cast Debug Logger.

Pengujian semua fitur aplikasi pada GC4A 2.0 disarankan. Pastikan untuk menyertakan pengujian memutar semua jenis media (podcast, streaming, dll), menjeda, menggeser, melewati, mengubah playlist, menghentikan, dan menyambungkan kembali Cast.

API yang didukung

GC4A 2.0 mendukung API berikut:

  • HTML
  • ECMA 6 JavaScript
  • DOMParser
  • XMLSerializer
  • Dokumen dan subclass
  • DocumentFragment
  • HTMLMediaElement & HTMLAudioElement
  • HTMLVideoElement (hanya dapat memutar konten Audio)
  • HTMLScriptElement
  • HTMLBaseElement
  • HTMLTemplateElement
  • Elemen Kustom
  • DOM Bayangan
  • Modul skrip / asinkron / ditangguhkan
  • Pengambilan / XHR
  • WebSocket
  • MessagePort
  • Kukis
  • MSE (Ekstensi Sumber Media)
  • EME (Ekstensi Media Terenkripsi)
  • Penyimpanan Lokal / Sesi

GC4A 2.0 tidak mendukung:

  • Impor modul dinamis (akan ditambahkan pada 2024)
  • CSS
  • IFrame
  • TextTracks

Kontak

Hubungi gc4a-support-external@google.com jika Anda memerlukan bantuan untuk melakukan pengujian, atau tidak dapat menggunakan speaker Bose.