Dinamik ses çubuğu modu

Android 14 çerçeve desteğiyle, yerleşik veya bağlı hoparlörlere sahip set üstü kutular (STB'ler) ve üst düzey (OTT) cihazlar, bağlı cihazlar için ses çubukları olacak şekilde yapılandırılabilir. Android 14'teki dinamik ses çubuğu modu (DSM), ses çubukları için ses dönüş kanalı (ARC) ve sistem ses kontrolü gibi HDMI tüketici elektroniği kontrolü (CEC) özelliklerini destekler.

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

Gereksinimler

Soundbar özelliğini benimsemek için OEM'lerin bu bölümde listelenen cihaz ve Sistem Kullanıcı Arayüzü gereksinimlerini karşılaması gerekir.

Cihaz gereksinimleri

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

  • Cihaz Android 14'ü çalıştırmalı.
  • DSM etkinleştirildiğinde cihazın, ARC gibi HDMI CEC spesifikasyonlarına uygun bir ses çubuğu gibi davranması gerekir.
  • Cihaz, dahili veya bağlı hoparlörlerde ses çalabilme özelliğine sahip olmalıdır.
  • Cihaz aktif bir kaynak olmadığında, cihazdaki tüm medyanın duraklatılması gerekir, bu da cihazın güç tüketimini sınırlandırır.

Sistem kullanıcı arayüzü gereksinimleri

DSM'yi desteklemek için OEM'lerin Sistem Kullanıcı Arayüzünü tasarlarken aşağıdaki gereksinimleri karşılaması gerekir:

  • Kullanıcı arayüzü etiketi, ARC'ye veya Ses Dönüş Kanalına (ARC) bir referans içermelidir.
  • Kullanıcı arayüzü, ARC bağlantısını kurmak 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ğlıysa özelliğin beklendiği gibi çalışmayabileceği konusunda kullanıcıyı bilgilendirmelidir.
  • Kullanıcı arayüzü, ayar değiştirilirken ekranın titreyebileceği konusunda kullanıcıyı bilgilendirmelidir.
  • Cihazda yerleşik hoparlör yoksa DSM'nin varsayılan olarak devre dışı bırakılması gerekir.

En iyi uygulama: SysUI uygulamasında gösterildiği gibi, ARC'yi etkinleştirmek veya devre dışı bırakmak için kullanıcı ayarının konumu olarak Görüntü ve Ses menüsünü kullanmanızı öneririz.

Çerçeve uygulaması

CEC ses çubuğu işlevselliğinin uygulanması ve mantıksal adres 5'in dinamik tahsisi Android çerçevesinde mevcuttur. Çerçeve, cihazın dinamik olarak bir ses çubuğuna dönüşmesi için ses çubuğu ayarı etkinleştirildiğinde mantıksal adresi tahsis eder. Soundbar ayarı devre dışı bırakıldığında çerçeve mantıksal adresi serbest bırakır.

Sistem Kullanıcı Arayüzündeki kullanıcı girişine bağlı olarak HdmiControlManager , CEC_SETTING_NAME_SOUNDBAR_MODE öğesini SOUNDBAR_MODE_ENABLED veya SOUNDBAR_MODE_DISABLED olarak ayarlar. CEC_SETTING_NAME_SOUNDBAR_MODE varsayılan değeri SOUNDBAR_MODE_DISABLED olarak ayarlanmıştır.

HdmiControlService aşağıdakileri yapmak için CEC_SETTING_NAME_SOUNDBAR_MODE ayarındaki değişikliği dinler:

  • 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ıysa ayarın durumunun korunduğundan emin olun.

Soundbar modunu ayarlamak ve durumunu öğrenmek için aşağıdaki bildirim örneğine bakın:

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

OEM uygulaması

Dinamik ses çubuğu özelliğini desteklemek için OEM'lerin donanımın bunu desteklediğinden emin olması gerekir. OEM'ler, kullanıcı girişleri için gerekli arayüzü sağlayacak şekilde cihazı yapılandırmalı ve Sistem Kullanıcı Arayüzünü uygulamalıdır .

Cihaz uygulaması

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

  1. Oynatma cihazını Android 14'te açın.
  2. Sürücüdeki HDMI ARC bağlantı noktasını uygulayın.
  3. Özelliğin varsayılan olarak devre dışı kalması için config_cecSoundbarModeEnabled_default ve config_cecSoundbarModeDisabled_default RRO değerlerini config.xml dosyasında değiştirmeden bırakın.

  4. Sesi çalmak için cihazda yerleşik veya bağlı hoparlörlerin bulunduğ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 ses çubuğu modunu değiştirmek için ayarı açın.

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

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

SysUI uygulaması

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

dsm_audio_output

Şekil 1. Görüntü ve Ses menüsü altındaki Ses çıkışı ayarı.

DSM'nin çalışması için HDMI-CEC'yi Etkinleştir ayarının açık olması gerekir. ARC ayarı yalnızca HDMI-CEC etkinleştirildiğinde etkinleştirilebilir. Şekil 2'de gösterildiği gibi HDMI-CEC devre dışı bırakılırsa ARC ayarı gri renkte görünür 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ı kapatıp Ev Hoparlörü'nü seçtiğinde, ARC ayar devre dışı bırakılır. Kullanıcı , HDMI-CEC'yi Etkinleştir seçeneğini etkinleştirerek Televizyon ses oynat ayarını etkinleştirebilir.

dsm_ui_disable_arc

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

HDMI-CEC ayarı etkinleştirildiğinde kullanıcı, DSM'yi açmak ve kapatmak için Ses çıkışı altındaki 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. DSM'yi kapatmak için kullanıcı 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 gerçekleştirebilir.

Manuel doğrulama

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

  • ARC ayarı etkinleştirildi:
    • TV kendi sesini kapatıyor.
    • TV sesi cihazın hoparlörlerine yönlendirilir.
  • ARC ayarı devre dışı:
    • TV, sesi cihaza yönlendirmeyi durdurur.
    • TV ses çalmaya başlar.
  • ARC ayarı etkinleştirilir ve cihaz, TV'nin ARC olmayan bir bağlantı noktasına bağlanır:
    • Cihaz TV'nin sesini oynatmıyor.
  • ARC ayarı etkinleştirilmiştir ve cihaz bağlanmadan önce mantıksal adres 5 başka bir cihaz tarafından kullanılıyordur:
    • Cihaz, bir soundbar değil, saf bir oynatma cihazı gibi davranır.
  • ARC ayarı etkinleştirildi, mantıksal adres 5 cihaz tarafından kullanılıyor ve ağa başka bir ses sistemi bağlı:
    • Cihazın soundbar davranışında herhangi bir değişiklik yok.
  • 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ı:
    • Kayıtlı olmayan bir mantıksal adres kullandığından, ikinci ses sistemi için TV ile ARC bağlantısı kurulmadı.
  • ARC ayarı etkinleştirildi ve cihaz çalışırken takıldı:
    • Cihaz, ayar etkinleştirildiğindeki gibi normal davranışı izler.

CTS doğrulaması

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

Sertifikasyon gerekliliği olmasa da uygulamanızı doğrulamak için CtsHdmiCecHostTestCases ses çubuğu 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 testlerine bakın.