Chế độ loa thanh động

Có hỗ trợ khung Android 14, hộp giải mã tín hiệu số (STB) và các thiết bị nội dung phát trực tiếp qua Internet (OTT) có loa tích hợp hoặc loa được kết nối được định cấu hình làm loa thanh cho các thiết bị đã kết nối. Chế độ loa thanh động (DSM) trong Android 14 hỗ trợ người dùng HDMI các thuộc tính điều khiển thiết bị điện tử (CEC) cho loa thanh, chẳng hạn như kênh trả lại âm thanh (ARC) và đ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 CEC trên Android TV.

Yêu cầu

Để áp dụng tính năng loa thanh, nhà sản xuất thiết bị gốc phải đáp ứng yêu cầu về thiết bị và giao diện người dùng hệ thống các yêu cầu đượ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ạn bật DSM, thiết bị phải hoạt động như một loa thanh 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 được tích hợp sẵn hoặc kết nối Loa.
  • Khi thiết bị không phải là nguồn đang hoạt động, tất cả 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, 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 một tệp 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 để 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 thanh hoặc bộ thu âm thanh/video (AVR) khác được kết nối trong HDMI mạng.
  • 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 cài đặt.
  • Nếu thiết bị không có loa tích hợp, DSM phải được tắt theo mặc định.

Phương pháp hay nhất: Chúng tôi khuyên bạn nên sử dụng chiến dịch Hiển thị Trình đơn âm thanh đóng vai trò là vị trí cho chế độ cài đặt người dùng để bật hoặc tắt ARC, như minh hoạ trong Triển khai SysUI.

Triển khai khung

Triển khai chức năng của loa thanh CEC và phân bổ động có địa chỉ logic 5 tồn tại trong khung Android. Khung này phân bổ địa chỉ logic khi bật chế độ cài đặt loa thanh để thiết bị trở thành loa thanh một cách linh hoạt. Khi bạn tắt chế độ cài đặt loa thanh, khung này sẽ phân bổ địa chỉ logic.

Dựa trên hoạt động đầ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 sự thay đổi trong 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ó phải là được hỗ trợ.
  • Kích hoạt chế độ 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 nội dung khai báo sau đây để đặt và biết trạng thái của nội dung khai báo chế độ loa thanh:

    /**
     * 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 (Nhà sản xuất thiết bị gốc)

Để hỗ trợ tính năng loa thanh động, nhà sản xuất thiết bị gốc phải đảm bảo rằng phần cứng hỗ trợ nó. 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 bắt buộc cho hoạt động đầu vào của người dùng.

Triển khai thiết bị

Cách hỗ trợ tính năng loa thanh trên một 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. Để nguyên giá trị RRO là config_cecSoundbarModeEnabled_defaultconfig_cecSoundbarModeDisabled_default không thay đổi 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 tích hợp sẵn 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.

  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ị chế độ cài đặt để bật/tắt chế độ loa thanh trong System UI (Giao diện người dùng hệ thống).

Để gỡ lỗi, hãy dùng lệnh adb sau đây để bật tính năng loa thanh hoặc tắt (1 khi bật và 0 khi tắt):

adb shell cmd hdmi_control cec_setting set soundbar_mode <1/0>

Triển khai SysUI

Phần này 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 Audio output (Đầu ra âm thanh) nằm trong phần Display & Trình đơn âm thanh như minh hoạ trong hình 1:

đầu ra âm thanh dsm

Hình 1. Chế độ cài đặt đầu ra âm thanh trong phần Display & Trình đơn âm thanh.

Để DSM hoạt động, cài đặt Bật HDMI-CEC phải được bật. Chiến lược phát hành đĩa đơn Bạn chỉ có thể bật chế độ cài đặt ARC nếu đã bật HDMI-CEC. Chế độ cài đặt ARC sẽ chuyển sang màu xám và bị tắt nếu HDMI-CEC bị tắt như minh hoạ trong hình 2. Trong quy trình giao diện người dùng tiếp theo, khi người dùng tắt chế độ cài đặt Enable HDMI-CEC trong Display & Trình đơn âm thanh rồi chọn Loa nhà, chế độ cài đặt ARC đã bị tắt. Người dùng có thể bật chế độ cài đặt Phát âm thanh trên TV bằng cách bật tuỳ chọn Enable HDMI-CEC (Bật HDMI-CEC).

dsm_ui_disable_arc

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

Khi bật chế độ cài đặt HDMI-CEC, người dùng có thể sử dụng chế độ cài đặt ARC trong Đầu ra âm thanh để bật và tắt DSM. Để bật DSM, người dùng sẽ theo dõi giao diện người dùng luồng trong hình 3. Trong quy trình giao diện người dùng sau đây, để bật chế độ loa thanh, người dùng chọn Home Speaker (Loa Home) rồi chọn và xác nhận chế độ cài đặt ARC. Để bật/tắt 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 để bật DSM.

Xác nhận kết quả

OEM có thể kiểm tra âm thanh để đảm bảo rằng loa của thiết bị phát 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 TV bảng điều khiển.

Xác thực theo cách 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 được bật:
    • TV sẽ tự tắt tiếng.
    • Âm thanh TV được chuyển đến loa của thiết bị.
  • Chế độ cài đặt ARC bị tắt:
    • TV sẽ dừng định tuyế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 tệp không phải ARC cổng sang 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 người khác sử dụng trước khi thiết bị được kết nối:
    • Thiết bị này hoạt động như một thiết bị phát thuần tuý chứ không phải loa thanh.
  • Chế độ 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 loa thanh của thiết bị.
  • Chế độ cài đặt ARC đã được bật, địa chỉ logic 5 đang được thiết bị sử dụng được kết nối với cổng không phải ARC và hệ thống âm thanh khác được kết nối với Cổng ARC:
    • Bạn chưa thiết lập kết nối ARC với TV cho âm thanh thứ hai vì hệ thống sử dụng địa chỉ logic chưa được đăng ký.
  • Chế độ cài đặt ARC được bật và thiết bị được cắm nóng:
    • Thiết bị sẽ 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 là cần thiết để vượt qua khi chế độ cài đặt loa thanh bị tắt. HdmiCecSoundbarModeTest.java kiểm thử trong bộ kiểm thử CtsHdmiCecHostTestCases, kiểm tra các chức năng DSM.

Mặc dù không bắt buộc phải có chứng chỉ, nhưng hãy chạy CtsHdmiCecHostTestCases với Đã bật chế độ cài đặt loa thanh để xác thực quá trình triển khai của bạn.

Xem bài viết kiểm thử CEC CTS cho thiết bị Android TV để chạy các bài kiểm thử Android CTS dành cho HDMI CEC.