Thiết bị âm thanh

Google Cast dành 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 hóa ứng dụng Truyền cho thiết bị chỉ phát âm thanh và tận dụng giảm nhu cầu sử dụng bộ nhớ, CPU và băng thông mạng.

Ứng dụng hỗ trợ Google Cast cho âm thanh phải đưa những tham số sau vào mức độ cân nhắc:

  • Google Cast dành 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 siêu dữ liệu, chẳng hạn như trình phát trạng thái (đang phát hoặc tạm dừng) và tiến trình. Ứng dụng của bạn không được hiển thị thông tin người dùng quan trọng như vậy chỉ trên đầu thu; thông tin quan trọng, và hầu hết giao diện người dùng, phải được hiển thị cho người gửi.
  • Để chạy các ứng dụng Trình thu phát web đúng cách, Google Cast dành cho thiết bị âm thanh vẫn phải kết xuất đồ hoạ, ngay cả khi chúng không được hiển thị. Từ thiết bị có thể không hỗ trợ thao tác đồ hoạ có tăng tốc phần cứng, nên tránh sử dụng các thao tác đồ hoạ chuyên sâu như độ dốc màu, xoay, phối alpha và vẽ lại các đối tượng như thanh tiến trình hơn một lần mỗi giây.
  • Google Cast dành cho thiết bị âm thanh chỉ hỗ trợ Widevine cho Quyền kỹ thuật số Nội dung được bảo vệ bằng công nghệ Quản lý (DRM).
  • Đối với hầu hết các thiết bị Google Cast cho âm thanh, ứng dụng gửi toàn bộ phạm vi âm lượng của thiết bị (ví dụ như loa), không chỉ là âm lượng của nguồn âm thanh đầu vào TV, như khi dùng thiết bị Chromecast.
  • Ngoài việc kiểm soát quá trình phát bằng thiết bị của người gửi (điện thoại, cho Ví dụ: ứng dụng có thể phải cung cấp tính năng điều khiển quá trình phát bằng bộ điều khiển của chính thiết bị, chẳng hạn như điều khiển từ xa, nút trên thiết bị, hoặc một ứng dụng từ xa bên ngoài.
  • Google Cast cho thiết bị âm thanh có thể hỗ trợ hiển thị siêu dữ liệu nội dung có màn hình LCD nhỏ, đầu ra HDMI (dành cho loa thanh hoặc âm thanh video receiver) hoặc một ứng dụng từ xa bên ngoài, tuỳ thuộc vào giao diện người dùng 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 Truyền để hỗ trợ Google Cast cho âm thanh là phát triển ứng dụng Truyền cho âm thanh-video và đảm bảo rằng ứng dụng này chạy trên một thiết bị Chromecast. Tài liệu này giả định rằng bạn đã phát triển và thử nghiệm một ứng dụng như vậy.

Ứng dụng có thể hỗ trợ cả thiết bị phát âm thanh video và chỉ âm thanh. Ứng dụng cần biết khi truyền dữ liệu giữa các thiết bị với nhau và có các biện pháp để đảm bảo kết quả tốt nhất trải nghiệm người dùng trong tình huống đã cho.

Ví dụ: Ứng dụng video và ứng dụng âm thanh kép (như phát tệp cục bộ/NAS) ứng dụng) phải bật tính năng truyền tới thiết bị chỉ phát âm thanh để hỗ trợ đang phát tệp âm thanh nhưng ứng dụng sẽ không cho phép người dùng gửi tệp video cho thiết bị chỉ phát âm thanh. Ứng dụng có thể sử dụng API chức năng của thiết bị dành cho người gửi mô tả dưới đây để 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:

  • Chỉ hỗ trợ âm thanh: truyền trực tuyến tệp nhạc và âm thanh, đài, v.v. Nội dung nghe nhìn được truyền đến ứng dụng Trình nhận web 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 phần Nguyên tắc sử dụng bộ nhớ ở bên dưới.

  • Chạy như mong đợi trên thiết bị Truyền cho âm thanh 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ỉ phát âm thanh hay không nhờ các API chức năng của thiết bị, có sẵn từ chính thiết bị đó hoặc thông qua người gửi hoặc các API trình thu nhận.

Tiêu đề HTTP của thiết bị

Tiêu đề HTTP CAST-DEVICE-CAPABILITIES do Thiết bị truyền cung cấp trong khởi chạy ứng dụng mô tả khả năng của thiết bị. Thiết bị gửi một yêu cầu bằng tiêu đề này đến máy chủ lưu trữ ứng dụng Trình nhận web. Tiêu đề cho một thiết bị chỉ phát âm thanh mô tả các khả năng của thiết bị với 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.

API Web receiver

Bạn có thể nhận cùng một đối tượng chức năng của thiết bị bằng cách gọi CastReceiverManager.getDeviceCapabilities() khi ứng dụng Web receiver được tải.

Xem phần Khả năng của thiết bị để biết thêm của bạn.

API người gửi

Mỗi API của thiết bị gửi Cast cũng có thông tin về chức năng của thiết bị. Các tuỳ chọn này cho phép ứng dụng của người gửi xác định loại nội dung nghe nhìn cần gửi cho người 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 tới các thiết bị chỉ phát âm thanh. Ngoài ra, ứng dụng của bạn có thể kiểm soát âm lượng bằng phương thức phù hợp với thiết bị, như mô tả trong Danh sách kiểm tra thiết kế. Hãy xem các API chức năng của thiết bị sau đây dành cho người gửi:

Nguyên tắc sử dụng bộ nhớ

Các ứng dụng Trình nhận web 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ỳ hình ảnh hoặc thành phần đồ hoạ nào để giảm bộ nhớ và rút ngắn thời gian cho đến khi bắt đầu phát.
  • Khi sử dụng Tiện ích nguồn phương tiện (MSE), các ứng dụng phải giới hạn luồng dữ liệu bộ nhớ đệm lên 2MB. Nếu sử dụng Thư viện trình phát nội dung đa phương tiện (MPL), dung lượng vùng đệm luồng đã được MPL xác định.
  • Khi sử dụng HTMLMediaElement, dung lượng vùng đệm luồng của ứng dụng sẽ được xác định của Chrome dựa trên tốc độ truyền trực tuyến. Giới hạn tốc độ bit âm thanh ở 2 megabit mỗi Thứ hai, hỗ trợ tất cả các bộ mã hoá và giải mã được mô tả trong Nội dung nghe nhìn được hỗ trợ (lên đến 48KHz/16 bit).

Điều chỉnh âm lượng

Đối với hầu hết các thiết bị Google Cast cho âm thanh, ứng dụng gửi sẽ kiểm soát toàn bộ phạm vi âm lượng của thiết bị, không chỉ là â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à gia số thay đổi âm lượng phải nhỏ hơn cho chỉ hỗ trợ âm thanh. Hãy xem các tài liệu sau để biết các nguyên tắc cung cấp điều chỉnh âm lượng trong ứng dụng của bạn:

Điều khiển thiết bị

Google Cast dành cho các thiết bị âm thanh có thể có bộ điều khiển chế độ phát riêng (chẳng hạn như nút, điều khiển từ xa). Các tuỳ chọn này sử dụng các thông báo phát nội dung nghe nhìn được xác định cho Không gian tên urn:x-cast:com.google.cast.media, như mô tả trong Thông báo phát nội dung nghe nhìn để điều khiển chế độ phát trên ứng dụng nhận. Ứng dụng nhận của bạn phải hỗ trợ những thông báo phát lại nội dung nghe nhìn này để hỗ trợ bộ điều khiển chế độ phát của thiết bị.

Ngoài ra, ứng dụng dành cho người gửi của bạn phải hỗ trợ thông báo Thư từ người nhận đến người gửi để nếu người dùng thay đổi trạng thái nội dung đa phương tiện bằng các nút điều khiển thiết bị, ứng dụng của người gửi có thể nhận thông báo trạng thái từ người nhận và cập nhật giao diện người dùng cho phù hợp.

Hiển thị thiết bị

Thiết bị Google Cast cho âm thanh có thể có màn hình LCD trên thiết bị hoặc ứng dụng điều khiển dành riêng cho thiết bị hiển thị siêu dữ liệu đa phương tiện. Bộ nhận ứng dụng 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 đó được đồng bộ hoá với nội dung đang phát để đảm bảo siêu dữ liệu hiển thị một cách phù hợp trên màn hình. Nếu ứng dụng đang dùng siêu dữ liệu tuỳ chỉnh, video đó cũng phải cung cấp siêu dữ liệu âm thanh tiêu chuẩn (tên bản nhạc, tên nghệ sĩ, đĩa nhạc tiêu đề, v.v.) theo mô tả cho từng nền tảng dưới đây.

Người nhận sẽ nhận được siêu dữ liệu từ người gửi khi tải nội dung nghe nhìn. Trong ứng dụng gửi của bạn, với lệnh tải nội dung nghe nhìn trên thiết bị nhận, bạn phải chỉ định các trường được mô tả dưới đây để siêu dữ liệu sẽ hiển thị trên Google Cast cho thiết bị âm thanh. Sử dụng các API sau:

Nếu ứng dụng Truyền quản lý hàng đợi phương tiện trên bộ thu hoặc trên đám mây, Trình nhận web phải truyền phát bất kỳ nội dung cập nhật trạng thái nội dung nghe nhìn nào bằng cách sử dụng Không gian tên urn:x-cast:com.google.cast.media để tất cả người gửi sẽ được đã đồng bộ hoá.

Đăng ký

Bạn phải đăng ký Google Cast cho thiết bị âm thanh để kiểm tra và đăng ký ứng dụng của bạn để hỗ trợ Google Cast cho thiết bị âm thanh, bằng cách sử dụng Bảng điều khiển dành cho nhà phát triển SDK Google Cast.

  • 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 Hỗ trợ truyền tới các thiết bị chỉ phát âm thanh khi đăng ký ứng dụng của bạn để cho phép ứng dụng khám phá Google Cast cho thiết bị âm thanh. Hãy xem phần Đăng ký ứng dụng của bạn.

Đối với ứng dụng chưa xuất bản, chẳng hạn như ứng dụng dùng để thử nghiệm, bạn cũng phải chọn hỗ trợ các thiết bị chỉ phát âm thanh để ứng dụng có thể khám phá các thiết bị chỉ phát âm thanh.

Google Cast cho Âm thanh 2.0

Google Cast cho Âm thanh (GC4A) 2.0 là nền tảng Truyền âm thanh thế hệ tiếp theo đượ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ác thiết bị có thể phát 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 API web đã được giảm xuống để phù hợp với các thiết bị không có màn hình. GC4A 2.0 sắp ra mắt trên phiên bản mới và loa hiện có có hỗ trợ tính năng truyền.

Kiểm thử và gỡ lỗi

Vì tất cả các loa được hỗ trợ sẽ chuyển đổi sang GC4A 2.0, nên điều quan trọng là các nhà phát triển ứng dụng âm thanh 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 loa Bose Wi-Fi sản xuất, JBL Charge 5 Wi-Fi, JBL Hàng chân thực, âm thanh Cambridge, Âm thanh Teuful Motiv Home, Loa thanh LG 2024.

GC4A 2.0 không hỗ trợ Trình gỡ lỗi từ xa Chrome. Nếu bạn muốn gỡ lỗi Google khuyên bạn nên sử dụng Trình ghi nhật ký gỡ lỗi truyền.

Bạn nên kiểm thử tất cả các tính năng của ứng dụng trên GC4A 2.0. Hãy nhớ cung cấp thử nghiệm phát tất cả các loại nội dung đa phương tiện (podcast, luồng, v.v.), tạm dừng, tua, bỏ qua, thay đổi danh sách phát, dừng rồi 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 & HTMLAudioElement
  • HTMLVideoElement (chỉ có thể phát Nội dung âm thanh)
  • HTMLScriptElement
  • HTMLBaseElement
  • HTMLTemplateElement
  • Phần tử tùy chỉnh
  • DOM bóng
  • Mô-đun tập lệnh / không đồng bộ / bị hoãn
  • Tìm nạp / XHR
  • WebSocket
  • MessagePort
  • Bánh quy
  • MSE (Tiện ích nguồn phương tiện)
  • EME (Tiện ích phương tiện đã mã hóa)
  • Bộ nhớ cục bộ / phiên

GC4A 2.0 không hỗ trợ:

  • Nhập mô-đun linh độ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ệ gc4a-support-external@google.com nếu bạn cần được trợ giúp về việc thiết lập để thử nghiệm hoặc không thể sử dụng loa Bose.