Chế độ soundbar động

Với sự hỗ trợ của khung Android 14, các thiết bị giải mã tín hiệu (STB) và thiết bị over-the-top (OTT) có loa tích hợp hoặc được kết nối có thể được định cấu hình 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 HDMI (CEC) cho loa thanh, chẳng hạn như kênh phản hồi âm thanh (ARC) và điều khiển âm thanh hệ thống.

Tính năng này chỉ nhắm mục tiêu đến các thiết bị phát lại Android TV CEC.

Yêu cầu

Để sử dụng tính năng soundbar, 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 liệt kê trong phần này.

Yêu cầu về thiết bị

Để hỗ trợ DSM, thiết bị STB/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 giống như một soundbar tuân theo thông số kỹ thuật 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 được kết nối.
  • Khi thiết bị không phải là nguồn hoạt động, tất cả phương tiệ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, OEM phải đáp ứng các yêu cầu sau 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 bao gồm tham chiếu đến ARC hoặc Kênh trả lạ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 loa soundbar hoặc bộ thu âm thanh/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 chuyển đổi cài đặt.
  • Nếu thiết bị không có loa tích hợp, DSM phải bị tắt theo mặc định.

Cách thực hành tốt nhất: Chúng tôi khuyên bạn nên sử dụng menu Hiển thị & Âm thanh làm vị trí cho cài đặt người dùng bật hoặc tắt ARC , như minh họa trong triển khai SysUI .

Triển khai khung

Việc triển khai chức năng soundbar CEC và phân bổ động địa chỉ logic 5 tồn tại trong khung Android. Khung phân bổ địa chỉ logic khi cài đặt soundbar được bật để thiết bị trở thành soundbar một cách linh hoạt. Khi cài đặt soundbar bị tắt, khung sẽ phân bổ đị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 lắng nghe thay đổi trong cài đặt CEC_SETTING_NAME_SOUNDBAR_MODE để thực hiện những việc sau:

  • Xác thực xem thiết bị phát lại cục bộ có tồn tại và thuộc tính ARC có được hỗ trợ hay không.
  • Kích hoạt phân bổ địa chỉ logic để thêm hoặc xóa thiết bị âm thanh cục bộ.
  • Đảm bảo rằng trạng thái cài đặt được giữ nguyên nếu thiết bị được cắm nóng.

Xem mẫu khai báo sau để đặ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.
     *
     * <p>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.
     *
     * <p>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 soundbar động, OEM phải đảm bảo rằng phần cứng hỗ trợ tính năng đó. OEM phải định cấu hình thiết bịtriển khai Giao diện người dùng hệ thống để cung cấp giao diện cần thiết cho đầu vào của người dùng.

Triển khai thiết bị

Để hỗ trợ tính năng soundbar trên thiết bị:

  1. Hiển thị thiết bị phát trên Android 14.
  2. Triển khai cổng HDMI ARC trong trình điều khiển.
  3. Giữ nguyên các giá trị RRO của config_cecSoundbarModeEnabled_defaultconfig_cecSoundbarModeDisabled_default trong config.xml để tính năng này vẫn bị tắt theo mặc định.

  4. Đảm bảo rằng thiết bị có loa tích hợp hoặc được kết nối để phát âm thanh và chỉnh sửa cấu hình chính sách âm thanh .

  5. Đặt thuộc tính hệ thống persist.sys.hdmi.property_arc_support thành true để cho biết rằng ARC được hỗ trợ.

  6. Hiển thị cài đặt để chuyển đổi chế độ soundbar trong Giao diện người dùng hệ thống .

Để gỡ lỗi, hãy sử dụng lệnh adb sau để bật hoặc tắt tính năng soundbar ( 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ả luồng giao diện người dùng mô phỏng được đề xuất để bật và tắt DSM. Cài đặt đầu ra Âm thanh nằm trong menu Hiển thị & Âm thanh , như trong hình 1:

dsm_audio_output

Hình 1. Cài đặt đầu ra âm thanh trong menu Hiển thị & Âm thanh .

Để DSM hoạt động, cài đặt Bật HDMI-CEC phải được bật. Cài đặt ARC chỉ có thể được bật nếu HDMI-CEC được bật. Cài đặt ARC chuyển sang màu xám và bị tắt nếu HDMI-CEC bị tắt như trong hình 2. Trong luồng giao diện người dùng sau, khi người dùng tắt cài đặt Bật HDMI-CEC trong menu Hiển thị & Âm thanh và chọn Loa gia đình , ARC cài đặt bị vô hiệu hóa. Người dùng có thể bật cài đặt âm thanh Play tivi bằng cách bật Enable HDMI-CEC .

dsm_ui_disable_arc

Hình 2. Giao diện người dùng cho tùy chọn ARC bị tắt.

Khi cài đặt HDMI-CEC được bật, người dùng có thể sử dụng cài đặt ARC trong Đầu ra âm thanh để bật và tắt DSM. Để bật DSM, người dùng làm theo luồng giao diện người dùng trong hình 3. Trong luồng giao diện người dùng sau, để bật chế độ soundbar, người dùng chọn Loa gia đình , đồng thời chọn và xác nhận cài đặt ARC . Để tắt DSM, người dùng tắt cài đặt ARC .

dsm_ui_enable_arc

Hình 3. Giao diện người dùng kích hoạt DSM.

Thẩm định

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 lại phát âm thanh bắt nguồn 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

Sử dụng các tình huống sau để xác thực hành vi dự kiến ​​theo cách thủ công:

  • Cài đặt ARC được bật:
    • TV tự tắt tiếng.
    • Âm thanh TV được truyền tới loa của thiết bị.
  • Cài đặt ARC bị tắt:
    • TV dừng định tuyến âm thanh đến thiết bị.
    • TV bắt đầu phát âm thanh.
  • Cài đặt ARC được bật và thiết bị được kết nối với cổng không phải ARC với TV:
    • Thiết bị không phát âm thanh của TV.
  • Cài đặt ARC được bật và địa chỉ logic 5 được thiết bị khác sử dụng trước khi thiết bị được kết nối:
    • Thiết bị này hoạt động giống như một thiết bị phát lại thuần túy chứ không phải một soundbar.
  • Cài đặt ARC được bật, địa chỉ logic 5 đang được thiết bị sử dụng và một hệ thống âm thanh khác được kết nối trong mạng:
    • Không có thay đổi nào về hoạt động của soundbar của thiết bị.
  • Cài đặt ARC được bật, địa chỉ logic 5 đang được sử dụng bởi thiết bị được kết nối với cổng không phải ARC và một hệ thống âm thanh khác được kết nối với cổng ARC:
    • Kết nối ARC không được thiết lập với TV dành cho hệ thống âm thanh thứ hai vì TV sử dụng địa chỉ logic chưa được đăng ký.
  • 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 cài đặt được bật.

Xác thực CTS

Cần phải vượt qua CtsHdmiCecHostTestCases khi cài đặt soundbar bị tắt. Thử nghiệm HdmiCecSoundbarModeTest.java trong bộ thử nghiệm CtsHdmiCecHostTestCases , kiểm tra các chức năng DSM.

Mặc dù không phải là yêu cầu về chứng nhận, hãy chạy CtsHdmiCecHostTestCases với cài đặt soundbar được bật để xác thực việc triển khai của bạn.

Xem thử nghiệm CEC CTS dành cho thiết bị Android TV để chạy thử nghiệm Android CTS cho HDMI CEC.