Với sự hỗ trợ của khung Android 14, các OEM có thể định cấu hình hộp giải mã tín hiệu truyền hình (STB) và thiết bị phát trực tiếp qua Internet (OTT) có loa tích hợp hoặc loa được kết nối để trở thành loa soundbar cho các thiết bị được kết nối. Chế độ loa thanh động (DSM) trong Android 14 hỗ trợ các thuộc tính điều khiển thiết bị điện tử tiêu dùng (CEC) qua HDMI cho loa thanh, chẳng hạn như kênh âm thanh phản hồi (ARC) và chế độ điều khiển âm thanh hệ thống.
Tính năng này chỉ nhắm đến các thiết bị phát có CEC trên Android TV.
Yêu cầu
Để áp dụng tính năng soundbar, các OEM phải đáp ứng các yêu cầu về thiết bị và Giao diện người dùng hệ thống được nêu trong phần này.
Yêu cầu về thiết bị
Để hỗ trợ DSM, STB hoặc thiết bị OTT phải đáp ứng các yêu cầu sau:
- Thiết bị phải chạy Android 14.
- Khi bật DSM, thiết bị phải hoạt động như một loa soundbar theo quy cách HDMI CEC, chẳng hạn như ARC.
- Thiết bị phải có khả năng phát âm thanh trên loa tích hợp hoặc loa được kết nối.
- Khi thiết bị không phải là nguồn đang hoạt động, mọi nội dung nghe nhìn phải được tạm dừng trên thiết bị, hạn chế mức tiêu thụ điện năng của thiết bị.
Yêu cầu về giao diện người dùng hệ thống
Để hỗ trợ DSM, các OEM phải đáp ứng các yêu cầu sau trong khi thiết kế Giao diện người dùng hệ thống:
- Nhãn giao diện người dùng phải có thông tin tham chiếu đến ARC hoặc Kênh phản hồi âm thanh (ARC).
- Giao diện người dùng phải thông báo cho người dùng kết nối thiết bị với cổng ARC của TV để thiết lập kết nối ARC.
- Giao diện người dùng phải thông báo cho người dùng rằng tính năng này có thể không hoạt động như mong đợi nếu một dàn âm thanh hoặc đầu thu âm thanh và video (AVR) khác được kết nối trong mạng HDMI.
- Giao diện người dùng phải thông báo cho người dùng rằng màn hình có thể nhấp nháy khi bật/tắt chế độ cài đặt.
- Nếu thiết bị không có loa tích hợp, thì DSM phải bị vô hiệu hoá theo mặc định.
Cách hay nhất là bạn nên sử dụng trình đơn Hiển thị và âm thanh làm vị trí cho chế độ cài đặt người dùng để bật hoặc tắt ARC, như minh hoạ trong phần Triển khai SysUI.
Triển khai khung
Việc triển khai chức năng CEC soundbar và việc phân bổ động địa chỉ logic 5 nằm trong khung Android. Khung này phân bổ địa chỉ logic khi chế độ cài đặt loa soundbar được bật, để thiết bị trở thành một loa soundbar một cách linh động. Khi chế độ cài đặt soundbar bị tắt, khung sẽ giải phóng địa chỉ logic.
Dựa trên thông tin đầu vào của người dùng trên Giao diện người dùng hệ thống, HdmiControlManager
đặt CEC_SETTING_NAME_SOUNDBAR_MODE
thành SOUNDBAR_MODE_ENABLED
hoặc SOUNDBAR_MODE_DISABLED
. Giá trị mặc định của CEC_SETTING_NAME_SOUNDBAR_MODE
được đặt thành SOUNDBAR_MODE_DISABLED
.
HdmiControlService
theo dõi thay đổi trong chế độ cài đặt CEC_SETTING_NAME_SOUNDBAR_MODE
để thực hiện những việc sau:
- Xác thực xem có thiết bị phát cục bộ hay không và thuộc tính ARC có được hỗ trợ hay không.
- Kích hoạt việc phân bổ địa chỉ logic để thêm hoặc xoá thiết bị âm thanh cục bộ.
- Đảm bảo rằng trạng thái của chế độ cài đặt được giữ nguyên nếu thiết bị được cắm nóng.
Hãy xem mẫu khai báo sau đây để đặt và nhận trạng thái của chế độ soundbar:
/**
* Name of a setting deciding whether the Soundbar mode feature is enabled.
* Before exposing this setting make sure the hardware supports it, otherwise, you may
* experience multiple issues.
*
* @see HdmiControlManager#setSoundbarMode(int)
*/
public static final String CEC_SETTING_NAME_SOUNDBAR_MODE = "soundbar_mode";
/**
* Soundbar mode feature enabled.
*/
public static final int SOUNDBAR_MODE_ENABLED = 1;
/**
* Soundbar mode feature disabled.
*/
public static final int SOUNDBAR_MODE_DISABLED = 0;
/**
* Set the status of Soundbar mode feature.
*
* This allows to enable/disable Soundbar mode on the playback device.
* The setting's effect will be available on devices where the hardware supports this feature.
* If enabled, an audio system local device will be allocated and try to establish an ARC
* connection with the TV. If disabled, the ARC connection will be terminated and the audio
* system local device will be removed from the network.
*/
public void setSoundbarMode(@SoundbarMode int value) {
}
/**
* Get the current status of Soundbar mode feature.
*
* Reflects whether Soundbar mode is currently enabled on the playback device.
* If enabled, an audio system local device will be allocated and try to establish an ARC
* connection with the TV. If disabled, the ARC connection will be terminated and the audio
* system local device will be removed from the network.
*/
public int getSoundbarMode() {}
Triển khai OEM
Để hỗ trợ tính năng loa thanh động, các OEM phải đảm bảo rằng phần cứng hỗ trợ tính năng này. Các OEM phải định cấu hình thiết bị và triển khai Giao diện người dùng hệ thống để cung cấp giao diện cần thiết cho hoạt động đầu vào của người dùng.
Triển khai thiết bị
Để hỗ trợ tính năng soundbar trên một thiết bị, hãy làm như sau:
- Đưa thiết bị phát lên Android 14.
- Triển khai cổng HDMI ARC trong trình điều khiển.
Để nguyên các giá trị RRO của
config_cecSoundbarModeEnabled_default
vàconfig_cecSoundbarModeDisabled_default
trongconfig.xml
để tính năng này vẫn bị tắt theo mặc định.Đảm bảo thiết bị có loa tích hợp hoặc loa được kết nối để phát âm thanh và chỉnh sửa cấu hình chính sách âm thanh.
Đặt thuộc tính hệ thống
persist.sys.hdmi.property_arc_support
thànhtrue
để cho biết ARC được hỗ trợ.Hiển thị chế độ cài đặt để bật/tắt chế độ loa thanh trong Giao diện người dùng hệ thống.
Để gỡ lỗi, hãy dùng lệnh
adb
sau đây để bật hoặc tắt tính năng loa thanh (1
để bật và0
để tắt):
adb shell cmd hdmi_control cec_setting set soundbar_mode <1/0>
Triển khai SysUI
Phần này mô tả một quy trình giao diện người dùng mô phỏng được đề xuất để bật và tắt DSM. Chế độ cài đặt Đầu ra âm thanh nằm trong trình đơn Màn hình và âm thanh, như minh hoạ trong hình 1:
Hình 1. Chế độ cài đặt đầu ra âm thanh trong trình đơn Màn hình và âm thanh.
Để DSM hoạt động, bạn phải bật chế độ cài đặt Bật HDMI-CEC. Bạn chỉ có thể bật chế độ cài đặt ARC nếu đã bật HDMI-CEC. Chế độ cài đặt ARC không dùng được và bị tắt nếu HDMI-CEC bị tắt như trong hình 2. Trong quy trình giao diện người dùng sau đây, khi người dùng tắt chế độ cài đặt Bật HDMI-CEC trong trình đơn Màn hình và âm thanh rồi chọn Loa tại nhà, chế độ cài đặt ARC sẽ bị tắt. Người dùng có thể bật chế độ cài đặt Phát âm thanh của TV bằng cách bật chế độ Bật HDMI-CEC.
Hình 2. Giao diện người dùng cho lựa chọn ARC bị vô hiệu hoá.
Khi chế độ cài đặt HDMI-CEC được bật, người dùng có thể sử dụng chế độ cài đặt ARC trong phần Đầu ra âm thanh để bật và tắt DSM. Để bật DSM, người dùng làm theo quy trình trên giao diện người dùng trong hình 3. Trong quy trình thao tác trên giao diện người dùng sau đây, để bật chế độ loa thanh, người dùng chọn Home Speaker (Loa tại nhà), sau đó chọn và xác nhận chế độ cài đặt ARC. Để tắt DSM, người dùng sẽ tắt chế độ cài đặt ARC.
Hình 3. Giao diện người dùng để bật DSM.
Xác nhận kết quả
Các OEM có thể thực hiện kiểm tra âm thanh để đảm bảo rằng loa của thiết bị phát phát ra âm thanh từ TV hoặc từ các thiết bị khác được kết nối với bảng điều khiển TV.
Xác thực thủ công
Hãy sử dụng các trường hợp sau để xác thực hành vi dự kiến theo cách thủ công:
- Chế độ cài đặt ARC đang bật:
- TV tự tắt tiếng.
- Âm thanh của TV được chuyển đến loa của thiết bị.
- Chế độ cài đặt ARC bị tắt:
- TV sẽ ngừng chuyển âm thanh đến thiết bị.
- TV bắt đầu phát âm thanh.
- Chế độ cài đặt ARC được bật và thiết bị được kết nối với một cổng không phải ARC trên TV:
- Thiết bị không phát âm thanh của TV.
- Chế độ cài đặt ARC được bật và địa chỉ logic 5 đang được một thiết bị khác sử dụng trước khi thiết bị được kết nối:
- Thiết bị hoạt động như một thiết bị phát thuần tuý, chứ không phải một loa soundbar.
- Chế độ ARC được bật, thiết bị đang sử dụng địa chỉ logic 5 và một hệ thống âm thanh khác được kết nối trong mạng:
- Không có gì thay đổi về cách hoạt động của loa thanh trên thiết bị.
- Chế độ cài đặt ARC được bật, thiết bị kết nối với cổng không phải ARC đang sử dụng địa chỉ logic 5 và một hệ thống âm thanh khác được kết nối với cổng ARC:
- Không thiết lập được kết nối ARC với TV cho hệ thống âm thanh thứ hai vì hệ thống này sử dụng một địa chỉ logic chưa đăng ký.
- Chế độ cài đặt ARC được bật và thiết bị được cắm nóng:
- Thiết bị hoạt động bình thường như khi bạn bật chế độ cài đặt này.
Xác thực CTS
CtsHdmiCecHostTestCases
bắt buộc phải truyền khi chế độ cài đặt loa soundbar bị vô hiệu hoá. Chương trình kiểm thử HdmiCecSoundbarModeTest.java
trong bộ kiểm thử CtsHdmiCecHostTestCases
sẽ kiểm thử các chức năng của DSM.
Mặc dù không phải là yêu cầu bắt buộc để được chứng nhận, nhưng hãy chạy CtsHdmiCecHostTestCases
khi bật chế độ cài đặt loa soundbar để xác thực việc triển khai của bạn.
Hãy xem phần Kiểm thử CEC CTS cho thiết bị Android TV để chạy các kiểm thử CTS của Android cho HDMI CEC.