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:
- Android: CastDevice.hasCapabilities
- iOS: deviceCapabilities
- Chrome: chrome.cast.Capability
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 volume pengirim di Checklist Desain
- Volume pengirim Android
- Volume pengirim iOS
- Volume pengirim web
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:
Android
MediaMetadata
denganMEDIA_TYPE_MUSIC_TRACK
dan:iOS
GCKMediaMetadata
denganGCKMediaMetadataType
GCKMediaMetadataTypeMusicTrack
dan:Chrome
MediaInfo
denganMusicTrackMediaMetadata
dan:
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.
Kasus Pengujian Dasar yang Direkomendasikan
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.