Mode bilah suara dinamis

Dengan dukungan framework Android 14, perangkat set-top box (STB) dan over-the-top (OTT) dengan speaker internal atau yang terhubung dapat dikonfigurasi menjadi soundbar untuk perangkat yang terhubung. Mode soundbar dinamis (DSM) di Android 14 mendukung atribut kontrol elektronik konsumen (CEC) HDMI untuk soundbar, seperti audio return channel (ARC) dan kontrol audio sistem.

Fitur ini hanya menargetkan perangkat pemutaran CEC Android TV.

Persyaratan

Untuk mengadopsi fitur soundbar, OEM harus memenuhi persyaratan perangkat dan UI Sistem yang tercantum di bagian ini.

Persyaratan perangkat

Untuk mendukung DSM, perangkat STB/OTT harus memenuhi persyaratan berikut:

  • Perangkat harus menjalankan Android 14.
  • Saat DSM diaktifkan, perangkat harus berperilaku seperti soundbar yang mengikuti spesifikasi HDMI CEC, seperti ARC.
  • Perangkat harus mampu memutar suara pada speaker internal atau yang tersambung.
  • Jika perangkat bukan sumber aktif, semua media harus dijeda di perangkat, sehingga membatasi konsumsi dayanya.

Persyaratan UI sistem

Untuk mendukung DSM, OEM harus memenuhi persyaratan berikut saat merancang UI Sistem:

  • Label UI harus menyertakan referensi ke ARC atau Audio Return Channel (ARC) .
  • UI harus memberi tahu pengguna untuk menyambungkan perangkat ke port ARC TV untuk membuat sambungan ARC.
  • UI harus memberi tahu pengguna bahwa fitur tersebut mungkin tidak berfungsi seperti yang diharapkan jika soundbar atau penerima audio/video (AVR) lain tersambung di jaringan HDMI.
  • UI harus memberi tahu pengguna bahwa layar mungkin berkedip saat mengubah pengaturan.
  • Jika perangkat tidak memiliki speaker internal, DSM harus dinonaktifkan secara default.

Praktik terbaik: Sebaiknya gunakan menu Tampilan & Suara sebagai lokasi pengaturan pengguna untuk mengaktifkan atau menonaktifkan ARC , seperti yang ditunjukkan dalam implementasi SysUI .

Implementasi kerangka kerja

Implementasi fungsionalitas soundbar CEC dan alokasi dinamis alamat logis 5 ada dalam kerangka Android. Kerangka kerja ini mengalokasikan alamat logis ketika pengaturan soundbar diaktifkan, agar perangkat menjadi soundbar secara dinamis. Ketika pengaturan soundbar dinonaktifkan, kerangka kerja membatalkan alokasi alamat logis.

Berdasarkan masukan pengguna pada UI Sistem, HdmiControlManager menyetel CEC_SETTING_NAME_SOUNDBAR_MODE ke SOUNDBAR_MODE_ENABLED atau SOUNDBAR_MODE_DISABLED . Nilai default CEC_SETTING_NAME_SOUNDBAR_MODE disetel ke SOUNDBAR_MODE_DISABLED .

HdmiControlService mendengarkan perubahan pengaturan CEC_SETTING_NAME_SOUNDBAR_MODE untuk melakukan hal berikut:

  • Validasi apakah ada perangkat pemutaran lokal dan properti ARC didukung.
  • Memicu alokasi alamat logis untuk menambah atau menghapus perangkat audio lokal.
  • Pastikan status pengaturan dipertahankan, jika perangkat dicolokkan ke hotplug.

Lihat contoh deklarasi berikut untuk mengatur dan mendapatkan status mode 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() {}

implementasi OEM

Untuk mendukung fitur soundbar dinamis, OEM harus memastikan bahwa perangkat kerasnya mendukungnya. OEM harus mengonfigurasi perangkat dan mengimplementasikan UI Sistem untuk menyediakan antarmuka yang diperlukan untuk input pengguna.

Implementasi perangkat

Untuk mendukung fitur soundbar di perangkat:

  1. Tampilkan perangkat pemutaran di Android 14.
  2. Terapkan port HDMI ARC di driver.
  3. Biarkan nilai RRO config_cecSoundbarModeEnabled_default dan config_cecSoundbarModeDisabled_default tidak berubah di config.xml sehingga fitur tersebut tetap dinonaktifkan secara default.

  4. Pastikan perangkat memiliki speaker internal atau tersambung untuk memutar audio, dan edit konfigurasi kebijakan audio .

  5. Atur properti sistem persist.sys.hdmi.property_arc_support ke true , untuk menunjukkan bahwa ARC didukung.

  6. Buka pengaturan untuk mengaktifkan mode soundbar di UI Sistem .

Untuk debugging, gunakan perintah adb berikut untuk mengaktifkan atau menonaktifkan fitur soundbar ( 1 untuk aktif dan 0 untuk nonaktif):

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

Implementasi SysUI

Bagian ini menjelaskan alur UI tiruan yang direkomendasikan untuk mengaktifkan dan menonaktifkan DSM. Pengaturan output Audio ada di bawah menu Display & Sound , seperti yang ditunjukkan pada gambar 1:

dsm_audio_output

Gambar 1. Pengaturan output audio pada menu Display & Sound .

Agar DSM berfungsi, pengaturan Aktifkan HDMI-CEC harus diaktifkan. Pengaturan ARC hanya dapat diaktifkan jika HDMI-CEC diaktifkan. Pengaturan ARC berwarna abu-abu dan dinonaktifkan jika HDMI-CEC dinonaktifkan seperti yang ditunjukkan pada gambar 2. Dalam alur UI berikut, ketika pengguna mematikan pengaturan Aktifkan HDMI-CEC di menu Tampilan & Suara dan memilih Home Speaker , ARC pengaturan dinonaktifkan. Pengguna dapat mengaktifkan pengaturan Putar audio televisi dengan mengaktifkan Aktifkan HDMI-CEC .

dsm_ui_disable_arc

Gambar 2. UI untuk opsi ARC yang dinonaktifkan.

Saat pengaturan HDMI-CEC diaktifkan, pengguna dapat menggunakan pengaturan ARC di bawah Output audio untuk menghidupkan dan mematikan DSM. Untuk mengaktifkan DSM, pengguna mengikuti alur UI pada gambar 3. Dalam alur UI berikut, untuk mengaktifkan mode soundbar, pengguna memilih Home Speaker , lalu memilih dan mengonfirmasi pengaturan ARC . Untuk mematikan DSM, pengguna mematikan pengaturan ARC .

dsm_ui_enable_arc

Gambar 3. UI untuk mengaktifkan DSM.

Validasi

OEM dapat melakukan tes audio untuk memastikan bahwa speaker perangkat pemutaran memutar suara yang berasal dari TV, atau dari perangkat lain yang tersambung ke panel TV.

Validasi manual

Gunakan skenario berikut untuk memvalidasi perilaku yang diharapkan secara manual:

  • Pengaturan ARC diaktifkan:
    • TV mati dengan sendirinya.
    • Suara TV disalurkan ke speaker perangkat.
  • Pengaturan ARC dinonaktifkan:
    • TV berhenti merutekan audio ke perangkat.
    • TV mulai memutar audio.
  • Pengaturan ARC diaktifkan dan perangkat terhubung ke port non-ARC ke TV:
    • Perangkat tidak memutar suara TV.
  • Pengaturan ARC diaktifkan dan alamat logis 5 digunakan oleh perangkat lain sebelum perangkat terhubung:
    • Perangkat berperilaku seperti perangkat pemutaran murni, bukan soundbar.
  • Pengaturan ARC diaktifkan, alamat logis 5 digunakan oleh perangkat, dan sistem audio lain tersambung di jaringan:
    • Tidak ada perubahan pada perilaku soundbar perangkat.
  • Pengaturan ARC diaktifkan, alamat logis 5 digunakan oleh perangkat yang terhubung ke port non-ARC, dan sistem audio lain terhubung ke port ARC:
    • Sambungan ARC tidak dibuat dengan TV untuk sistem audio kedua karena menggunakan alamat logis yang tidak terdaftar.
  • Pengaturan ARC diaktifkan, dan perangkat di-hotplug:
    • Perangkat mengikuti perilaku normal seperti saat pengaturan diaktifkan.

validasi CTS

CtsHdmiCecHostTestCases harus dilewati saat pengaturan soundbar dinonaktifkan. Tes HdmiCecSoundbarModeTest.java di rangkaian pengujian CtsHdmiCecHostTestCases , menguji fungsionalitas DSM.

Meskipun bukan persyaratan sertifikasi, jalankan CtsHdmiCecHostTestCases dengan pengaturan soundbar diaktifkan untuk memvalidasi penerapan Anda.

Lihat pengujian CEC CTS untuk perangkat Android TV guna menjalankan pengujian Android CTS untuk HDMI CEC.