Google Cast cho thiết bị âm thanh chỉ hỗ trợ phát âm thanh. Hướng dẫn này mô tả cách tối ưu hoá ứng dụng Truyền cho các thiết bị chỉ có âm thanh và tận dụng nhu cầu giảm về bộ nhớ, CPU và mức sử dụng băng thông mạng.
Ứng dụng hỗ trợ Google Cast cho âm thanh phải cân nhắc những điều sau:
- Google Cast cho thiết bị âm thanh không hiển thị video hoặc đồ hoạ. Tuy nhiên, nhiều thiết bị âm thanh có màn hình để hiển thị siêu dữ liệu, chẳng hạn như trạng thái phát (đang phát hoặc tạm dừng) và tiến trình. Ứng dụng của bạn không được chỉ hiển thị thông tin quan trọng như vậy của người dùng trên thiết bị nhận; thông tin quan trọng và hầu hết giao diện người dùng phải hiển thị trên thiết bị gửi.
- Để chạy đúng cách các ứng dụng Web Receiver, Google Cast cho thiết bị âm thanh vẫn phải kết xuất đồ hoạ, mặc dù đồ hoạ không hiển thị. Vì các thiết bị có thể không hỗ trợ các thao tác đồ hoạ tăng tốc phần cứng, nên các ứng dụng tiếp nhận nên tránh sử dụng các thao tác đồ hoạ chuyên sâu như chuyển màu, xoay, kết hợp alpha và vẽ lại các đối tượng lớn như thanh tiến trình nhiều lần mỗi giây.
- Google Cast cho thiết bị âm thanh chỉ hỗ trợ nội dung được bảo vệ bằng công nghệ Quản lý quyền kỹ thuật số (DRM) của Widevine.
- Đối với hầu hết các thiết bị âm thanh Google Cast, ứng dụng gửi sẽ kiểm soát toàn bộ phạm vi âm lượng của thiết bị (ví dụ: loa), chứ không chỉ âm lượng của đầu vào nguồn âm thanh vào TV, như với thiết bị Chromecast.
- Ngoài việc điều khiển chế độ phát bằng thiết bị gửi (ví dụ: điện thoại), ứng dụng có thể phải cung cấp tính năng điều khiển chế độ phát bằng các bộ điều khiển của chính thiết bị, chẳng hạn như điều khiển từ xa, các nút trên thiết bị hoặc ứng dụng điều khiển từ xa bên ngoài.
- Thiết bị âm thanh Google Cast có thể hỗ trợ hiển thị siêu dữ liệu nội dung bằng màn hình LCD nhỏ, đầu ra HDMI (dành cho loa thanh hoặc bộ thu âm thanh và video) hoặc ứng dụng từ xa bên ngoài, tuỳ thuộc vào giao diện người dùng cụ thể của thiết bị.
Quá trình phát triển
Bước đầu tiên trong việc phát triển ứng dụng Cast để hỗ trợ Google Cast cho âm thanh là phát triển ứng dụng Cast cho âm thanh và video, đồng thời đảm bảo ứng dụng đó chạy trên Chromecast. Tài liệu này giả định rằng bạn đã phát triển và kiểm thử một ứng dụng như vậy.
Một ứng dụng có thể hỗ trợ cả thiết bị âm thanh-video và thiết bị chỉ có âm thanh. Ứng dụng cần biết thời điểm truyền đến thiết bị này so với thiết bị kia và thực hiện các biện pháp để đảm bảo trải nghiệm người dùng tốt nhất trong trường hợp cụ thể.
Ví dụ: các ứng dụng âm thanh và video kép (chẳng hạn như ứng dụng phát tệp cục bộ/NAS) phải bật tính năng truyền đến thiết bị chỉ có âm thanh để hỗ trợ phát tệp âm thanh, nhưng ứng dụng không được cho phép người dùng gửi tệp video đến thiết bị chỉ có âm thanh. Ứng dụng có thể sử dụng API chức năng của thiết bị cho người gửi được mô tả bên dưới để xác định nội dung phù hợp với thiết bị.
Để hỗ trợ Google Cast cho âm thanh, ứng dụng của bạn phải làm như sau:
Hỗ trợ chỉ âm thanh: phát trực tuyến nhạc và tệp âm thanh, đài phát thanh, v.v. Nội dung nghe nhìn được truyền trực tuyến đến ứng dụng Web Receiver không được là luồng video. Ngoài ra, hãy tránh truyền trực tuyến đồ hoạ và hình ảnh để cải thiện thời gian khởi chạy ứng dụng và mức sử dụng bộ nhớ. Xem Nguyên tắc sử dụng bộ nhớ bên dưới.
Chạy như dự kiến trên thiết bị Cast for audio cũng như Chromecast thông thường.
Khả năng của thiết bị
Ứng dụng của bạn có thể biết liệu ứng dụng đó có đang chạy trên thiết bị chỉ có âm thanh hay không nhờ các API chức năng của thiết bị, có sẵn trên chính thiết bị hoặc thông qua API trình gửi hoặc trình nhận.
Tiêu đề HTTP của thiết bị
Tiêu đề HTTP CAST-DEVICE-CAPABILITIES
do thiết bị Cast cung cấp trong quá trình khởi chạy ứng dụng mô tả các tính năng của thiết bị. Thiết bị gửi một yêu cầu có tiêu đề này đến máy chủ lưu trữ ứng dụng Web Receiver. Tiêu đề cho thiết bị chỉ âm thanh mô tả các chức năng của thiết bị bằng CAST-DEVICE-CAPABILITIES: {"display_supported":false}
.
Khi máy chủ của bạn nhận được yêu cầu từ thiết bị, bạn có thể sử dụng thông tin trong tiêu đề này để chuyển hướng yêu cầu đến ứng dụng Web Receiver được tối ưu hoá cho các thiết bị âm thanh.
Web Receiver API
Bạn có thể lấy cùng một đối tượng chức năng thiết bị bằng cách gọi CastReceiverManager.getDeviceCapabilities()
khi ứng dụng Web Receiver được tải.
Hãy xem phần Tính năng của thiết bị để biết thêm thông tin.
API trình gửi
Mỗi API trình gửi Cast cũng có thông tin về chức năng của thiết bị. Các giá trị này cho phép ứng dụng gửi xác định loại nội dung nghe nhìn cần gửi đến ứng dụng nhận. Nếu ứng dụng của bạn hỗ trợ cả âm thanh và video, thì ứng dụng có thể tránh gửi nội dung video đến các thiết bị chỉ có âm thanh. Ngoài ra, ứng dụng của bạn có thể điều khiển âm lượng bằng phương thức phù hợp nhất với thiết bị, như mô tả trong Danh sách kiểm tra thiết kế. Xem các API chức năng thiết bị sau đây dành cho người gửi:
- Android: CastDevice.hasCapabilities
- iOS: deviceCapabilities
- Chrome: chrome.cast.Capability
Nguyên tắc sử dụng bộ nhớ
Các ứng dụng Web Receiver chạy trên thiết bị âm thanh phải quản lý mức sử dụng bộ nhớ như sau:
- Tránh tải xuống hoặc sử dụng bất kỳ thành phần hình ảnh hoặc đồ hoạ nào để giảm mức sử dụng bộ nhớ và rút ngắn thời gian chờ đến khi bắt đầu phát.
- Khi sử dụng Tiện ích nguồn nội dung đa phương tiện (MSE), các ứng dụng phải giới hạn vùng đệm truyền phát ở mức 2 MB. Nếu sử dụng Thư viện trình phát nội dung đa phương tiện (MPL), kích thước bộ đệm luồng của ứng dụng đã được MPL xác định.
- Khi sử dụng HTMLMediaElement, kích thước vùng đệm luồng của ứng dụng được Chrome xác định dựa trên tốc độ luồng. Giới hạn tốc độ bit âm thanh ở mức 2 megabit/giây. Tốc độ này hỗ trợ tất cả bộ mã hoá và giải mã được mô tả trong phần Nội dung nghe nhìn được hỗ trợ (tối đa 48KHz/16 bit).
Điều chỉnh âm lượng
Đối với hầu hết các thiết bị âm thanh Google Cast, ứng dụng gửi sẽ kiểm soát toàn bộ phạm vi âm lượng của thiết bị, chứ không chỉ âm lượng đầu vào của nguồn âm thanh, như với thiết bị Chromecast. Điều này có nghĩa là mức tăng thay đổi âm lượng phải nhỏ hơn đối với các ứng dụng chỉ có âm thanh. Hãy xem các tài liệu sau đây để biết nguyên tắc về việc cung cấp tính năng điều khiển âm lượng trong ứng dụng:
- Các nút điều chỉnh âm lượng của người gửi trong Danh sách kiểm tra thiết kế
- Âm lượng của trình gửi Android
- Số lượng người gửi trên iOS
- Số lượng người gửi trên web
Điều khiển thiết bị
Google Cast cho thiết bị âm thanh có thể có các chế độ điều khiển phát riêng (chẳng hạn như nút, điều khiển từ xa). Các lớp này sử dụng thông báo phát nội dung đa phương tiện được xác định cho
không gian tên urn:x-cast:com.google.cast.media
, như mô tả trong phần
Thông báo phát nội dung đa phương tiện, để điều khiển chế độ phát
trên ứng dụng nhận. Ứng dụng tiếp nhận của bạn phải hỗ trợ các thông báo phát nội dung nghe nhìn này để hỗ trợ các chế độ điều khiển phát của thiết bị.
Ngoài ra, ứng dụng gửi của bạn phải hỗ trợ Thông báo từ trình nhận đến trình gửi để nếu người dùng thay đổi trạng thái nội dung nghe nhìn bằng các chế độ điều khiển thiết bị, thì ứng dụng gửi của bạn có thể nhận được thông báo trạng thái từ trình nhận và cập nhật giao diện người dùng cho phù hợp.
Màn hình thiết bị
Thiết bị âm thanh Google Cast có thể có màn hình LCD trên thiết bị hoặc một ứng dụng điều khiển dành riêng cho thiết bị hiển thị siêu dữ liệu nội dung nghe nhìn. Ứng dụng đầu thu của bạn phải cung cấp siêu dữ liệu này cho tất cả các bản âm thanh và đảm bảo siêu dữ liệu này đồng bộ với nội dung đang phát để đảm bảo siêu dữ liệu hiển thị phù hợp trên màn hình. Nếu đang sử dụng siêu dữ liệu tuỳ chỉnh, thì ứng dụng cũng phải cung cấp siêu dữ liệu âm thanh chuẩn (tên bản nhạc, tên nghệ sĩ, tiêu đề đĩa nhạc, v.v.) như mô tả cho từng nền tảng bên dưới.
Trình nhận nhận siêu dữ liệu từ trình gửi khi tải nội dung nghe nhìn. Trong ứng dụng trình gửi, với lệnh tải nội dung nghe nhìn trên trình nhận, bạn phải chỉ định các trường được mô tả bên dưới để siêu dữ liệu hiển thị trên Google Cast cho thiết bị âm thanh. Sử dụng các API sau:
Android
MediaMetadata
vớiMEDIA_TYPE_MUSIC_TRACK
và:iOS
GCKMediaMetadata
vớiGCKMediaMetadataType
GCKMediaMetadataTypeMusicTrack
và:Chrome
MediaInfo
vớiMusicTrackMediaMetadata
và:
Nếu ứng dụng Truyền phát quản lý hàng đợi nội dung nghe nhìn trên trình nhận hoặc trên đám mây, thì Trình nhận web phải truyền phát mọi nội dung cập nhật trạng thái nội dung nghe nhìn bằng cách sử dụng không gian tên urn:x-cast:com.google.cast.media
để tất cả trình gửi đều được đồng bộ hoá.
Đăng ký
Bạn phải đăng ký thiết bị âm thanh Google Cast để kiểm thử và đăng ký ứng dụng để hỗ trợ thiết bị âm thanh Google Cast bằng cách sử dụng Bảng điều khiển dành cho nhà phát triển SDK Google Cast.
- Hãy xem phần Thiết bị để biết thêm thông tin về cách đăng ký thiết bị.
- Bạn phải đánh dấu vào hộp đánh dấu Hỗ trợ truyền đến các thiết bị chỉ phát âm thanh khi đăng ký ứng dụng để cho phép ứng dụng phát hiện Google Cast cho các thiết bị âm thanh. Xem phần Đăng ký ứng dụng.
Đối với các ứng dụng chưa phát hành, chẳng hạn như các ứng dụng dùng để thử nghiệm, bạn cũng phải chọn tuỳ chọn hỗ trợ thiết bị chỉ phát âm thanh để ứng dụng có thể phát hiện thiết bị chỉ phát âm thanh.
Google Cast for Audio 2.0
Google Cast for Audio (GC4A) 2.0 là nền tảng âm thanh Cast thế hệ mới được thiết kế để nhắm đến các thiết bị có bộ nhớ thấp, nhằm mở rộng hệ sinh thái của các thiết bị có thể truyền trực tuyến nội dung của bạn. Vì GC4A 2.0 nhắm đến các nền tảng âm thanh, nên tập hợp API web sẽ được giảm để phù hợp với các thiết bị không có màn hình. GC4A 2.0 sẽ được triển khai cho các loa mới và hiện có hỗ trợ tính năng truyền.
Kiểm thử và gỡ lỗi
Vì tất cả loa được hỗ trợ sẽ chuyển sang GC4A 2.0, nên các nhà phát triển ứng dụng âm thanh cần kiểm thử ứng dụng của họ trên GC4A 2.0. Bạn có thể kiểm thử ứng dụng Truyền cho GC4A 2.0 trên bất kỳ thiết bị GC4A 2.0 nào được liệt kê tại đây.
GC4A 2.0 không hỗ trợ Trình gỡ lỗi từ xa của Chrome. Nếu bạn muốn gỡ lỗi ứng dụng, Google khuyên bạn nên sử dụng Trình ghi gỡ lỗi truyền.
Các thiết bị có GC4A 2.0
Đây là danh sách không đầy đủ các thiết bị GC4A 2.0:
- Bose: Loa Wifi và Loa thanh thông minh
- JBL: Charge 5 Wi-Fi / Boombox 3 Wi-Fi / Authentics 200, 300 và 500
- Samsung: Music Frame / Loa thanh
- LG: Loa thanh 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
- Nordic Argon Audio
- WiiM CI MOD S / Ultra
Các trường hợp kiểm thử cơ bản được đề xuất
Bạn nên kiểm thử tất cả tính năng của ứng dụng trên GC4A 2.0. Hãy nhớ kiểm thử việc phát tất cả các loại nội dung nghe nhìn (podcast, nội dung phát trực tuyến, v.v.), tạm dừng, tua lại, bỏ qua, thay đổi danh sách phát, dừng và kết nối lại tính năng Truyền.
API được hỗ trợ
GC4A 2.0 hỗ trợ các API sau:
- HTML
- JavaScript ECMA 6
- DOMParser
- XMLSerializer
- Tài liệu và lớp con
- DocumentFragment
- HTMLMediaElement và HTMLAudioElement
- HTMLVideoElement (chỉ có thể phát nội dung Âm thanh)
- HTMLScriptElement
- HTMLBaseElement
- HTMLTemplateElement
- Phần tử tuỳ chỉnh
- Shadow DOM
- Mô-đun tập lệnh / không đồng bộ / trì hoãn
- Tìm nạp / XHR
- WebSocket
- MessagePort
- Bánh quy
- MSE (Tiện ích nguồn nội dung nghe nhìn)
- EME (Tiện ích nội dung nghe nhìn đã mã hoá)
- Bộ nhớ cục bộ / bộ nhớ dựa trên phiên hoạt động
GC4A 2.0 không hỗ trợ:
- Nhập mô-đun động (sẽ được thêm vào năm 2024)
- CSS
- IFrame
- TextTracks
Thông tin liên hệ
Vui lòng liên hệ với gc4a-support-external@google.com nếu bạn cần trợ giúp thiết lập để kiểm thử hoặc không thể sử dụng loa Bose.