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

Một ứng dụng hỗ trợ Google Cast cho âm thanh phải cân nhắc những điều sau:

  • Google Cast dành cho thiết bị âm thanh không hiển thị video hoặc nội dung đồ 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ạ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 của người dùng trên trình nhận. Thông tin quan trọng và hầu hết giao diện người dùng phải được hiển thị trên trình gửi.
  • Để chạy các ứng dụng Web receiver đúng cách, Google Cast dành cho thiết bị âm thanh vẫn phải kết xuất đồ hoạ mặc dù không được 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 trình thu nhận nên tránh sử dụng các thao tác nặng về đồ hoạ như chuyển màu, xoay, phối 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 dành cho các thiết bị âm thanh chỉ hỗ trợ Widevine cho nội dung được bảo vệ về Quản lý quyền kỹ thuật số (DRM).
  • Đối với hầu hết Google Cast cho các thiết bị âm thanh, ứng dụng của người 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 nguồn âm thanh đầu vào đến TV, như với thiết bị Chromecast.
  • Ngoài việc điều khiển việc phát bằng thiết bị của người gửi (ví dụ: điện thoại), ứng dụng có thể phải cung cấp chức năng điều khiển chế độ phát bằng bộ điều khiển riêng của 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 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 trên màn hình LCD nhỏ, đầu ra HDMI (đối với loa thanh hoặc bộ thu video âm thanh) 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 một ứng dụng Cast cho âm thanh và video và đảm bảo rằng ứ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ị chỉ phát âm thanh và video. Mô-đun này cần biết thời điểm truyền giữa các ứng dụng, đồng thời tiến hành các biện pháp để đảm bảo trải nghiệm người dùng tốt nhất trong tình huống nhất định.

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

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

  • Chạy như dự kiến trên thiết bị Cast cho thiết bị â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 tính năng của thiết bị, có sẵn trong chính thiết bị hoặc thông qua API người gửi hoặc người 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 quá trình chạy ứng dụng mô tả các tính năng của thiết bị. Thiết bị gửi yêu cầu có tiêu đề này đến máy chủ lưu trữ ứng dụng Web receiver. Tiêu đề của thiết bị chỉ có â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.

API Bộ nhận web

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 Trình thu nhận web được tải.

Hãy xem bài viết Các chức năng của thiết bị để biết thêm thông tin.

API người gửi

Mỗi API của thiết bị gửi Cast cũng có thông tin về các chức năng của thiết bị. Các đối tượng này giú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 hỗ trợ cả âm thanh và video, thì ứng dụng của bạn 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ể kiểm soát â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 sau đây về khả năng của thiết bị dành cho người gửi:

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

Các ứng dụng Bộ 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ỳ thành phần hình ảnh hay đồ hoạ nào để giảm mức sử dụng 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 nội dung nghe nhìn (MSE), các ứng dụng phải giới hạn bộ đệm luồng ở mức 2 MB. Nếu bạn sử dụng Thư viện trình phát nội dung đa phương tiện (MPL), thì dung lượng bộ nhớ đệm phát trực tuyến của ứng dụng đã được MPL xác định.
  • Khi sử dụng HTMLMediaElement, dung lượng bộ nhớ đệm luồng của ứng dụng sẽ được Chrome xác định dựa trên tốc độ truyền trực tuyến. Giới hạn tốc độ bit âm thanh ở mức 2 megabit mỗi giây. Tốc độ bit này hỗ trợ tất cả cá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).

Chỉnh âm lượng

Đối với hầu hết các thiết bị Google Cast dành 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ị, chứ không chỉ âm lượng đầu vào của nguồn âm thanh, như với thiết bị Chromecast. Tức là mức tăng thay đổi âm lượng phải nhỏ hơn cho các ứng dụng chỉ phát âm thanh. Hãy xem các tài liệu sau đây để biết các nguyên tắc về cách kiểm soát âm lượng trong ứng dụng:

Đ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 phương thức này sử dụng thông báo về việc 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 Thông báo phát nội dung nghe nhìn để kiểm soát việc phát trên ứng dụng của trình nhận. Ứng dụng 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 bộ điều khiển chế độ phát của thiết bị.

Ngoài ra, ứng dụng của người gửi phải hỗ trợ Tin nhắn 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 chế độ điều khiển thiết bị, thì ứng dụng của người gửi có thể nhận được 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 tương ứng.

Màn hình thiết bị

Google Cast cho thiết bị â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. Ứng dụng nhậ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 đó đồng bộ với nội dung đang phát để đảm bảo siêu dữ liệu hiển thị đúng cách trên màn hình. Nếu đang 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 tiêu chuẩn (tên bản nhạc, tên nghệ sĩ, tên đĩa nhạc, v.v.) như mô tả cho từng nền tảng dưới đây.

Trình 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 dành cho người gửi, 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ả bên dưới để siêu dữ liệu sẽ hiển thị trên Google Cast cho thiết bị âm thanh. Hãy sử dụng các API sau:

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

Đăng ký

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

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

Đố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 để kiểm thử, bạn cũng phải chọn tuỳ 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 for Audio (GC4A) 2.0 là nền tảng Cast âm thanh thế hệ mới được thiết kế để nhắm mục tiêu đến các thiết bị có bộ nhớ thấp, nhằm mở rộng hệ sinh thái thiết bị có thể truyền trực tuyến nội dung của bạ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 Cast cho GC4A 2.0 trên loa Bose sản xuất (ví dụ: Loa thông minh Boss 500).

Vui lòng liên hệ theo địa chỉ gc4a-support-external@google.com nếu bạn cần trợ giúp thiết lập để thử nghiệm hoặc bạn không thể sử dụng loa Bose. Nếu muốn gỡ lỗi ứng dụng của mình, bạn nên sử dụng Trình ghi nhật ký gỡ lỗi truyền.