Google Cast untuk perangkat audio hanya mendukung pemutaran audio. Panduan ini menjelaskan cara mengoptimalkan aplikasi Transmisi untuk perangkat khusus audio dan memanfaatkan penurunan permintaan pada memori, CPU, dan penggunaan bandwidth jaringan.
Aplikasi yang mendukung Google Cast untuk audio harus mempertimbangkan hal berikut:
- Google Cast untuk perangkat audio tidak menampilkan video atau gambar. Namun, banyak perangkat audio memiliki layar untuk menampilkan metadata, seperti status pemutaran (diputar atau dijeda) dan progres. Aplikasi Anda tidak boleh menampilkan informasi pengguna penting tersebut 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 masih harus merender grafis, meskipun tidak ditampilkan. Karena perangkat mungkin tidak mendukung operasi grafis yang dipercepat hardware, aplikasi penerima harus menghindari penggunaan operasi yang intensif grafis seperti gradien warna, rotasi, penggabungan alfa, dan menggambar ulang objek besar seperti status progres lebih dari sekali per detik.
- Google Cast untuk perangkat audio hanya mendukung Widevine untuk konten yang dilindungi Manajemen Hak Digital (DRM).
- Untuk sebagian besar perangkat audio Google Cast, 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 (misalnya, ponsel), aplikasi mungkin harus menyediakan kontrol pemutaran dengan pengontrol perangkat itu sendiri seperti remote control, tombol di perangkat, atau aplikasi remote eksternal.
- Google Cast untuk perangkat audio dapat mendukung tampilan metadata konten dengan layar LCD kecil, output HDMI (untuk soundbar atau penerima audio-video), atau aplikasi jarak jauh eksternal, bergantung pada UI perangkat tertentu.
Pengembangan
Langkah pertama dalam mengembangkan aplikasi Cast untuk mendukung Google Cast untuk audio adalah mengembangkan aplikasi Cast untuk audio-video, dan memastikan aplikasi tersebut berjalan di Chromecast. Dokumen ini mengasumsikan bahwa Anda telah mengembangkan dan menguji aplikasi tersebut.
Aplikasi dapat mendukung perangkat audio-video dan perangkat khusus audio. Aplikasi ini perlu mengetahui saat melakukan transmisi ke satu perangkat atau perangkat lainnya dan mengambil tindakan untuk memastikan pengalaman pengguna terbaik dalam skenario yang diberikan.
Misalnya, aplikasi video dan audio ganda (seperti aplikasi pemutaran file lokal/NAS) harus mengaktifkan transmisi ke perangkat khusus audio untuk mendukung pemutaran file audio, tetapi aplikasi tidak boleh mengizinkan pengguna mengirim file video ke perangkat khusus audio. Aplikasi dapat menggunakan API kemampuan perangkat untuk pengirim yang dijelaskan di bawah untuk menentukan konten yang sesuai untuk perangkat.
Untuk mendukung Google Cast untuk audio, aplikasi Anda harus melakukan hal berikut:
Mendukung khusus audio: streaming musik dan file audio, radio, dll. Media yang di-streaming ke aplikasi Web Receiver tidak boleh berupa streaming video. Selain itu, hindari streaming grafik dan gambar untuk meningkatkan waktu peluncuran aplikasi dan penggunaan memori. Lihat Panduan penggunaan memori, di bawah.
Berjalan seperti yang diharapkan di perangkat Cast untuk audio serta Chromecast biasa.
Kemampuan perangkat
Aplikasi Anda dapat mengetahui apakah aplikasi berjalan di perangkat khusus audio berdasarkan API kemampuan perangkat, yang tersedia dari perangkat itu sendiri atau melalui API pengirim atau penerima.
Header HTTP perangkat
Header HTTP CAST-DEVICE-CAPABILITIES
yang disediakan oleh perangkat Transmisi selama
peluncuran aplikasi menjelaskan kemampuan perangkat. Perangkat mengirim permintaan
dengan header ini ke server yang menghosting aplikasi Penerima Web. Header untuk
perangkat khusus audio menjelaskan kemampuan perangkat dengan
CAST-DEVICE-CAPABILITIES: {"display_supported":false}
.
Saat server menerima permintaan dari perangkat, Anda dapat menggunakan informasi dalam header ini untuk mengalihkan permintaan ke aplikasi Web Receiver yang dioptimalkan untuk perangkat audio.
Web Receiver API
Anda bisa mendapatkan objek kemampuan perangkat yang sama dengan memanggil CastReceiverManager.getDeviceCapabilities()
saat aplikasi Web Receiver dimuat.
Lihat Kemampuan perangkat untuk mengetahui informasi selengkapnya.
Sender API
Setiap API pengirim Transmisikan juga memiliki informasi kemampuan perangkat. Hal ini memungkinkan aplikasi pengirim Anda menentukan jenis media yang akan dikirim ke penerima. Jika aplikasi Anda mendukung audio dan video, aplikasi tersebut dapat menghindari pengiriman konten video ke 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, untuk mengurangi jejak memori dan mempersingkat waktu hingga pemutaran dimulai.
- Saat menggunakan Media Source Extensions (MSE), aplikasi harus membatasi buffering streaming hingga 2 MB. Jika menggunakan Library Pemutar Media (MPL), ukuran buffer streaming aplikasi sudah ditentukan oleh MPL.
- Saat menggunakan HTMLMediaElement, ukuran buffering stream aplikasi ditentukan oleh Chrome berdasarkan kecepatan streaming. Batasi kecepatan bit audio hingga 2 megabit per detik, yang mendukung semua codec yang dijelaskan dalam Media yang Didukung (hingga 48KHz/16bit).
Kontrol volume
Untuk sebagian besar perangkat audio Google Cast, aplikasi pengirim mengontrol rentang volume penuh perangkat, bukan hanya volume input sumber audio, seperti pada perangkat Chromecast. Artinya, penambahan perubahan volume harus lebih kecil untuk aplikasi khusus audio. Lihat dokumen berikut untuk mendapatkan panduan tentang cara menyediakan kontrol volume di aplikasi Anda:
- Kontrol volume pengirim dalam 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). Pesan ini menggunakan pesan pemutaran media yang ditentukan untuk
namespace urn:x-cast:com.google.cast.media
, seperti yang dijelaskan dalam
Pesan Pemutaran Media, untuk mengontrol pemutaran
di 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 Anda dapat menerima pesan status dari penerima dan memperbarui UI sesuai kebutuhan.
Tampilan perangkat
Google Cast untuk perangkat audio mungkin memiliki layar LCD di perangkat atau aplikasi kontrol khusus perangkat yang menampilkan metadata media. Aplikasi penerima Anda harus menyediakan metadata ini untuk semua trek audio dan memastikannya sinkron dengan konten yang sedang diputar untuk memastikan metadata ditampilkan dengan benar di layar. Jika menggunakan metadata kustom, aplikasi juga harus menyediakan metadata audio standar (nama lagu, nama artis, judul album, dll.) seperti yang dijelaskan untuk setiap platform di bawah.
Penerima mendapatkan metadata dari pengirim saat memuat media. Di aplikasi pengirim, dengan perintah untuk memuat media di penerima, Anda harus menentukan kolom yang dijelaskan di bawah agar metadata akan ditampilkan di perangkat Google Cast untuk 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
namespace urn:x-cast:com.google.cast.media
sehingga semua pengirim akan
disinkronkan.
Pendaftaran
Anda harus mendaftarkan Google Cast untuk perangkat audio untuk pengujian dan mendaftarkan aplikasi Anda untuk mendukung Google Cast untuk perangkat audio, dengan menggunakan Konsol Developer Google Cast SDK.
- Lihat Perangkat untuk mengetahui informasi selengkapnya tentang mendaftarkan perangkat.
- Anda harus mencentang kotak Mendukung transmisi ke perangkat khusus audio saat mendaftarkan aplikasi untuk mengizinkan aplikasi menemukan Google Cast untuk perangkat audio. Lihat Mendaftarkan aplikasi.
Untuk aplikasi yang tidak dipublikasikan, seperti yang digunakan untuk pengujian, Anda juga harus memilih opsi untuk mendukung perangkat audio saja agar aplikasi dapat menemukan perangkat audio saja.
Google Cast untuk Audio 2.0
Google Cast untuk Audio (GC4A) 2.0 adalah platform audio Cast generasi berikutnya yang dirancang untuk menargetkan perangkat dengan memori rendah, guna memperluas ekosistem perangkat yang dapat melakukan streaming konten Anda. Karena GC4A 2.0 menargetkan platform audio, kumpulan API web dikurangi agar selaras dengan perangkat tanpa layar. GC4A 2.0 diluncurkan ke speaker baru dan lama yang mendukung transmisi.
Pengujian dan Proses Debug
Karena semua speaker yang didukung akan bertransisi ke GC4A 2.0, penting bagi developer aplikasi audio untuk menguji aplikasi mereka di GC4A 2.0. Anda dapat menguji aplikasi Transmisi untuk GC4A 2.0 di salah satu perangkat GC4A 2.0 yang tercantum di sini.
GC4A 2.0 tidak mendukung Chrome Remote Debugger. Jika Anda ingin men-debug aplikasi, Google merekomendasikan penggunaan Cast Debug Logger.
Perangkat GC4A 2.0 yang Tersedia
Berikut adalah daftar perangkat GC4A 2.0 yang tidak lengkap:
- Bose: Speaker Wifi dan Smart Soundbar
- JBL: Charge 5 Wi-Fi / Boombox 3 Wi-Fi / Authentics 200, 300, dan 500
- Samsung: Music Frame / Soundbar
- LG: Soundbar S90TY/SG10TY/SE70Q/S80Q/S90Q
- Bang & Olufsen Beosound 2 / Beocore Connect
- Sonoro Maestro 2 / Meisterstruck 2
- Cambridge Audio MXN10
- KEF LS60 / LSX II
- Teufel Motiv Home
- Audio Nordic Argon
- WiiM CI MOD S / Ultra
Kasus Uji Dasar yang Direkomendasikan
Sebaiknya uji semua fitur aplikasi di GC4A 2.0. Pastikan untuk menyertakan pengujian pemutaran semua jenis media (podcast, streaming, dll.), menjeda, menggeser, melewati, mengubah playlist, menghentikan, dan menghubungkan kembali Cast.
API yang didukung
GC4A 2.0 mendukung API berikut:
- HTML
- JavaScript ECMA 6
- 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 (Media Source Extensions)
- EME (Encrypted Media Extensions)
- Penyimpanan Lokal / Sesi
GC4A 2.0 tidak mendukung:
- Impor modul dinamis (akan ditambahkan pada tahun 2024)
- CSS
- IFrame
- TextTracks
Kontak
Hubungi gc4a-support-external@google.com jika Anda memerlukan bantuan untuk menyiapkan pengujian, atau tidak dapat menggunakan speaker Bose.