Dinamik ses çubuğu modu

Android 14 çerçeve desteği sayesinde OEM'ler, set üstü kutuları (STB'ler) ve over-the-top (OTT) cihazları, bağlı cihazlar için ses çubuğu olarak kullanılacak şekilde yapılandırabilir. Android 14'teki dinamik ses çubuğu modu (DSM), ses dönüş kanalı (ARC) ve sistem ses kontrolü gibi ses çubuklarına yönelik HDMI tüketici elektroniği kontrolü (CEC) özelliklerini destekler.

Bu özellik yalnızca Android TV CEC oynatma cihazlarını hedefler.

Şartlar

OEM'lerin ses çubuğu özelliğini kullanabilmesi için bu bölümde listelenen cihaz ve Sistem Arayüzü şartlarını karşılaması gerekir.

Cihaz gereksinimleri

DSM'yi desteklemek için STB veya OTT cihazının aşağıdaki koşulları karşılaması gerekir:

  • Cihazda Android 14 yüklü olmalıdır.
  • DSM etkinleştirildiğinde cihaz, ARC gibi HDMI CEC özelliklerine uygun bir ses çubuğu gibi davranmalıdır.
  • Cihaz, dahili veya bağlı hoparlörlerde ses çalabilmelidir.
  • Cihaz etkin bir kaynak olmadığında cihazdaki tüm medya içerikleri duraklatılmalıdır. Bu sayede cihazın güç tüketimi sınırlandırılır.

Sistem Arayüzü gereksinimleri

DSM'yi desteklemek için OEM'ler, Sistem Arayüzü'nü tasarlarken aşağıdaki koşulları karşılamalıdır:

  • Kullanıcı arayüzü etiketinde ARC veya Ses Çıkışı Kanalı (ARC) referansı bulunmalıdır.
  • Kullanıcı arayüzü, ARC bağlantısı oluşturmak için cihazı TV'nin ARC bağlantı noktasına bağlaması konusunda kullanıcıyı bilgilendirmelidir.
  • Kullanıcı arayüzü, HDMI ağına başka bir ses çubuğu veya ses-video alıcısı (AVR) bağlandığında özelliğin beklendiği gibi çalışmayabileceği konusunda kullanıcıyı bilgilendirmelidir.
  • Kullanıcı arayüzü, ayar değiştirildiğinde ekranda titreme olabileceği konusunda kullanıcıyı bilgilendirmelidir.
  • Cihazda yerleşik hoparlör yoksa DSM varsayılan olarak devre dışı bırakılmalıdır.

En iyi uygulama olarak, Display & Sound (Ekran ve Ses) menüsünün, ARC'yi etkinleştirmek veya devre dışı bırakmak için kullanıcı ayarının bulunduğu yer olarak kullanılmasını öneririz. Bu menü, SysUI uygulamasında gösterilmiştir.

Çerçeve uygulaması

CEC soundbar işlevinin uygulanması ve 5 numaralı mantıksal adresin dinamik olarak ayrılması Android çerçevesinde yer alır. Çerçeve, soundbar ayarı etkinleştirildiğinde mantıksal adresi ayırarak cihazın dinamik olarak soundbar olmasını sağlar. Soundbar ayarı devre dışı bırakıldığında çerçeve, mantıksal adresi serbest bırakır.

Sistem Arayüzündeki kullanıcı girişine göre HdmiControlManager, CEC_SETTING_NAME_SOUNDBAR_MODE değerini SOUNDBAR_MODE_ENABLED veya SOUNDBAR_MODE_DISABLED olarak ayarlar. CEC_SETTING_NAME_SOUNDBAR_MODE politikasının varsayılan değeri SOUNDBAR_MODE_DISABLED olarak ayarlanır.

HdmiControlService, CEC_SETTING_NAME_SOUNDBAR_MODE ayarındaki değişikliği dinleyerek aşağıdakileri yapar:

  • Yerel bir oynatma cihazının mevcut olup olmadığını ve ARC özelliğinin desteklenip desteklenmediğini doğrulayın.
  • Yerel ses cihazını eklemek veya kaldırmak için mantıksal adres tahsisini tetikleyin.
  • Cihaz çalışırken takılırsa ayarın durumunun korunmasını sağlayın.

Aşağıdaki bildirim örneğine bakarak soundbar modunun durumunu ayarlayabilir ve alabilirsiniz:

    /**
     * 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() {}

OEM uygulaması

OEM'lerin dinamik ses çubuğu özelliğini destekleyebilmesi için donanımın bu özelliği desteklemesi gerekir. OEM'ler, kullanıcı girişleri için gerekli arayüzü sağlamak üzere cihazı yapılandırmalı ve Sistem Arayüzü'nü uygulamalıdır.

Cihaz uygulaması

Bir cihazda soundbar özelliğini desteklemek için:

  1. Android 14'te oynatma cihazını açın.
  2. Sürücüde HDMI ARC bağlantı noktasını uygulayın.
  3. config.xml içinde config_cecSoundbarModeEnabled_default ve config_cecSoundbarModeDisabled_default RRO değerlerini değiştirmeyin. Bu sayede özellik varsayılan olarak devre dışı kalır.

  4. Cihazda sesin çalınacağı yerleşik veya bağlı hoparlörler olduğundan emin olun ve ses politikası yapılandırmasını düzenleyin.

  5. ARC'nin desteklendiğini belirtmek için persist.sys.hdmi.property_arc_support sistem özelliğini true olarak ayarlayın.

  6. Sistem kullanıcı arayüzünde soundbar modunu açıp kapatma ayarını göster.

  7. Hata ayıklama için soundbar özelliğini açmak veya kapatmak üzere aşağıdaki adb komutunu kullanın (1 için açık, 0 için kapalı):

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

SysUI uygulaması

Bu bölümde, DSM'yi açıp kapatmak için önerilen bir sahte kullanıcı arayüzü akışı açıklanmaktadır. Ses çıkışı ayarı, Şekil 1'de gösterildiği gibi Ekran ve Ses menüsündedir:

dsm_audio_output

Şekil 1. Ekran ve Ses menüsündeki ses çıkışı ayarı.

DSM'nin çalışması için HDMI-CEC'yi etkinleştir ayarı açık olmalıdır. ARC ayarı yalnızca HDMI-CEC etkinse etkinleştirilebilir. Şekil 2'de gösterildiği gibi HDMI-CEC devre dışı bırakılırsa ARC ayarı kullanılamaz ve devre dışı bırakılır. Aşağıdaki kullanıcı arayüzü akışında, kullanıcı Ekran ve Ses menüsünde HDMI-CEC'yi etkinleştir ayarını kapattığında ve Ev Hoparlörü'nü seçtiğinde ARC ayarı devre dışı bırakılır. Kullanıcı, HDMI-CEC'yi etkinleştir ayarını etkinleştirerek TV sesini oynat ayarını etkinleştirebilir.

dsm_ui_disable_arc

Şekil 2. Devre dışı bırakılmış ARC seçeneğinin kullanıcı arayüzü.

HDMI-CEC ayarı etkinleştirildiğinde kullanıcı, DSM'yi açıp kapatmak için Ses çıkışı bölümündeki ARC ayarını kullanabilir. DSM'yi açmak için kullanıcı, Şekil 3'teki kullanıcı arayüzü akışını takip eder. Aşağıdaki kullanıcı arayüzü akışında, ses çubuğu modunu etkinleştirmek için kullanıcı Ev Hoparlörü'nü seçer ve ARC ayarını seçip onaylar. Kullanıcı, DSM'yi kapatmak için ARC ayarını kapatır.

dsm_ui_enable_arc

Şekil 3. DSM'yi etkinleştirmek için kullanıcı arayüzü.

Doğrulama

OEM'ler, oynatma cihazının hoparlörlerinin TV'den veya TV paneline bağlı diğer cihazlardan gelen sesi oynattığından emin olmak için bir ses testi yapabilir.

Manuel doğrulama

Beklenen davranışı manuel olarak doğrulamak için aşağıdaki senaryoları kullanın:

  • ARC ayarı etkinse:
    • TV kendi kendine sesi kapatıyor.
    • TV sesi, cihazın hoparlörlerine yönlendirilir.
  • ARC ayarı devre dışıdır:
    • TV, sesi cihaza yönlendirmeyi durdurur.
    • TV, ses çalmaya başlar.
  • ARC ayarı etkinleştirilmiş ve cihaz, TV'deki ARC olmayan bir porta bağlanmış:
    • Cihaz, TV'nin sesini çalmıyor.
  • ARC ayarı etkinleştirilmiş ve cihaz bağlanmadan önce 5 numaralı mantıksal adres başka bir cihaz tarafından kullanılıyor:
    • Cihaz, soundbar gibi değil, yalnızca oynatma cihazı gibi davranır.
  • ARC ayarı etkinleştirilmiş, cihaz tarafından 5 numaralı mantıksal adres kullanılıyor ve ağda başka bir ses sistemi bağlı:
    • Cihazın soundbar davranışında değişiklik olmaz.
  • ARC ayarı etkinleştirilmiş, mantıksal adres 5, ARC olmayan bir bağlantı noktasına bağlı cihaz tarafından kullanılıyor ve ARC bağlantı noktasına başka bir ses sistemi bağlı:
    • ARC bağlantısı, kayıtlı olmayan bir mantıksal adres kullandığı için ikinci ses sistemiyle kurulmuyor.
  • ARC ayarı etkinleştirilmiş ve cihaz çalışırken takılmış olmalıdır:
    • Cihaz, ayar etkinleştirildiğinde olduğu gibi normal şekilde çalışır.

CTS doğrulama

CtsHdmiCecHostTestCases ses çubuğu ayarı devre dışı bırakıldığında geçilmesi gerekir. CtsHdmiCecHostTestCases test paketindeki HdmiCecSoundbarModeTest.java testi, DSM işlevlerini test eder.

Sertifika için zorunlu olmasa da uygulamanızı doğrulamak için CtsHdmiCecHostTestCases'ı soundbar ayarı etkinleştirilmiş şekilde çalıştırın.

HDMI CEC için Android CTS testlerini çalıştırmak üzere Android TV cihazları için CEC CTS testi başlıklı makaleye bakın.