डायनामिक साउंडबार मोड

एंड्रॉइड 14 फ्रेमवर्क समर्थन के साथ, सेट-टॉप बॉक्स (एसटीबी) और बिल्ट-इन या कनेक्टेड स्पीकर वाले ओवर-द-टॉप (ओटीटी) डिवाइस को कनेक्टेड डिवाइस के लिए साउंडबार के रूप में कॉन्फ़िगर किया जा सकता है। एंड्रॉइड 14 में डायनामिक साउंडबार मोड (डीएसएम) साउंडबार के लिए एचडीएमआई उपभोक्ता इलेक्ट्रॉनिक्स नियंत्रण (सीईसी) विशेषताओं का समर्थन करता है, जैसे ऑडियो रिटर्न चैनल (एआरसी) और सिस्टम ऑडियो नियंत्रण।

यह सुविधा केवल Android TV CEC प्लेबैक डिवाइस को लक्षित करती है।

आवश्यकताएं

साउंडबार सुविधा को अपनाने के लिए, ओईएम को इस अनुभाग में सूचीबद्ध डिवाइस और सिस्टम यूआई आवश्यकताओं को पूरा करना होगा।

डिवाइस आवश्यकताएँ

डीएसएम का समर्थन करने के लिए, एसटीबी/ओटीटी डिवाइस को निम्नलिखित आवश्यकताओं को पूरा करना होगा:

  • डिवाइस को Android 14 चलाना चाहिए.
  • जब डीएसएम सक्षम होता है, तो डिवाइस को एआरसी जैसे एचडीएमआई सीईसी विनिर्देशों का पालन करते हुए साउंडबार की तरह व्यवहार करना चाहिए।
  • डिवाइस अंतर्निर्मित या कनेक्टेड स्पीकर पर ध्वनि चलाने में सक्षम होना चाहिए।
  • जब डिवाइस एक सक्रिय स्रोत नहीं है, तो डिवाइस की बिजली खपत को सीमित करते हुए, सभी मीडिया को डिवाइस पर रोक देना चाहिए।

सिस्टम यूआई आवश्यकताएँ

डीएसएम का समर्थन करने के लिए, ओईएम को सिस्टम यूआई डिजाइन करते समय निम्नलिखित आवश्यकताओं को पूरा करना होगा:

  • यूआई लेबल में एआरसी या ऑडियो रिटर्न चैनल (एआरसी) का संदर्भ शामिल होना चाहिए।
  • एआरसी कनेक्शन स्थापित करने के लिए यूआई को उपयोगकर्ता को डिवाइस को टीवी के एआरसी पोर्ट से कनेक्ट करने के लिए सूचित करना होगा।
  • यूआई को उपयोगकर्ता को सूचित करना होगा कि यदि एचडीएमआई नेटवर्क में कोई अन्य साउंडबार या ऑडियो/वीडियो रिसीवर (एवीआर) जुड़ा हुआ है तो सुविधा अपेक्षा के अनुरूप काम नहीं कर सकती है।
  • यूआई को उपयोगकर्ता को सूचित करना होगा कि सेटिंग टॉगल करने पर स्क्रीन झिलमिला सकती है।
  • यदि डिवाइस में कोई अंतर्निहित स्पीकर नहीं है, तो DSM को डिफ़ॉल्ट रूप से अक्षम किया जाना चाहिए।

सर्वोत्तम अभ्यास: हम ARC को सक्षम या अक्षम करने के लिए उपयोगकर्ता सेटिंग के स्थान के रूप में डिस्प्ले और साउंड मेनू का उपयोग करने की सलाह देते हैं, जैसा कि SysUI कार्यान्वयन में दिखाया गया है।

रूपरेखा कार्यान्वयन

सीईसी साउंडबार कार्यक्षमता का कार्यान्वयन और लॉजिकल एड्रेस 5 का गतिशील आवंटन एंड्रॉइड फ्रेमवर्क में मौजूद है। डिवाइस को गतिशील रूप से साउंडबार बनाने के लिए, साउंडबार सेटिंग सक्षम होने पर फ्रेमवर्क तार्किक पता आवंटित करता है। जब साउंडबार सेटिंग अक्षम हो जाती है, तो फ्रेमवर्क तार्किक पते को हटा देता है।

सिस्टम UI पर उपयोगकर्ता इनपुट के आधार पर, HdmiControlManager CEC_SETTING_NAME_SOUNDBAR_MODE को SOUNDBAR_MODE_ENABLED या SOUNDBAR_MODE_DISABLED पर सेट करता है। CEC_SETTING_NAME_SOUNDBAR_MODE का डिफ़ॉल्ट मान SOUNDBAR_MODE_DISABLED पर सेट है।

HdmiControlService निम्नलिखित करने के लिए CEC_SETTING_NAME_SOUNDBAR_MODE सेटिंग में परिवर्तन को सुनता है:

  • सत्यापित करें कि क्या कोई स्थानीय प्लेबैक डिवाइस मौजूद है और एआरसी प्रॉपर्टी समर्थित है।
  • स्थानीय ऑडियो डिवाइस को जोड़ने या हटाने के लिए तार्किक पता आवंटन ट्रिगर करें।
  • सुनिश्चित करें कि यदि डिवाइस हॉटप्लग है तो सेटिंग की स्थिति संरक्षित है।

साउंडबार मोड की स्थिति सेट करने और प्राप्त करने के लिए घोषणाओं का निम्नलिखित नमूना देखें:

    /**
     * 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 को यह सुनिश्चित करना होगा कि हार्डवेयर इसका समर्थन करता है। ओईएम को डिवाइस को कॉन्फ़िगर करना होगा और उपयोगकर्ता इनपुट के लिए आवश्यक इंटरफ़ेस प्रदान करने के लिए सिस्टम यूआई लागू करना होगा

डिवाइस कार्यान्वयन

किसी डिवाइस पर साउंडबार सुविधा का समर्थन करने के लिए:

  1. एंड्रॉइड 14 पर प्लेबैक डिवाइस लाएँ।
  2. ड्राइवर में एचडीएमआई एआरसी पोर्ट लागू करें।
  3. config_cecSoundbarModeEnabled_default और config_cecSoundbarModeDisabled_default के RRO मानों को config.xml में अपरिवर्तित छोड़ दें ताकि सुविधा डिफ़ॉल्ट रूप से अक्षम रहे।

  4. सुनिश्चित करें कि डिवाइस में ऑडियो चलाने के लिए या तो अंतर्निहित या कनेक्टेड स्पीकर हैं, और ऑडियो नीति कॉन्फ़िगरेशन को संपादित करें।

  5. यह इंगित करने के लिए कि एआरसी समर्थित है, सिस्टम प्रॉपर्टी persist.sys.hdmi.property_arc_support को true पर सेट करें।

  6. सिस्टम यूआई में साउंडबार मोड को टॉगल करने के लिए सेटिंग को उजागर करें।

डिबगिंग के लिए, साउंडबार सुविधा को चालू या बंद करने के लिए निम्नलिखित adb कमांड का उपयोग करें (ऑन के लिए 1 और ऑफ के लिए 0 ):

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

SysUI कार्यान्वयन

यह अनुभाग डीएसएम को चालू और बंद करने के लिए अनुशंसित, नकली यूआई प्रवाह का वर्णन करता है। ऑडियो आउटपुट सेटिंग डिस्प्ले और साउंड मेनू के अंतर्गत है, जैसा चित्र 1 में दिखाया गया है:

dsm_audio_output

चित्र 1. डिस्प्ले और ध्वनि मेनू के अंतर्गत ऑडियो आउटपुट सेटिंग।

DSM के काम करने के लिए, HDMI-CEC सक्षम करें सेटिंग को चालू करना होगा। एआरसी सेटिंग केवल तभी सक्षम की जा सकती है जब एचडीएमआई-सीईसी सक्षम हो। यदि एचडीएमआई-सीईसी अक्षम है तो एआरसी सेटिंग धूसर हो जाती है और अक्षम हो जाती है जैसा कि चित्र 2 में दिखाया गया है। निम्नलिखित यूआई प्रवाह में, जब उपयोगकर्ता डिस्प्ले और साउंड मेनू में एचडीएमआई-सीईसी सेटिंग सक्षम करें को बंद कर देता है और होम स्पीकर का चयन करता है, तो एआरसी सेटिंग अक्षम है. उपयोगकर्ता HDMI-CEC सक्षम करके प्ले टेलीविज़न ऑडियो सेटिंग सक्षम कर सकता है।

dsm_ui_disable_arc

चित्र 2. अक्षम एआरसी विकल्प के लिए यूआई।

जब एचडीएमआई-सीईसी सेटिंग सक्षम होती है, तो उपयोगकर्ता डीएसएम को चालू और बंद करने के लिए ऑडियो आउटपुट के तहत एआरसी सेटिंग का उपयोग कर सकता है। डीएसएम चालू करने के लिए, उपयोगकर्ता चित्र 3 में यूआई प्रवाह का पालन करता है। निम्नलिखित यूआई प्रवाह में, साउंडबार मोड को सक्षम करने के लिए, उपयोगकर्ता होम स्पीकर का चयन करता है, और एआरसी सेटिंग का चयन करता है और पुष्टि करता है। DSM को बंद करने के लिए, उपयोगकर्ता ARC सेटिंग को बंद कर देता है।

dsm_ui_enable_arc

चित्र 3. डीएसएम को सक्षम करने के लिए यूआई।

मान्यकरण

ओईएम यह सुनिश्चित करने के लिए एक ऑडियो परीक्षण कर सकते हैं कि प्लेबैक डिवाइस के स्पीकर टीवी से या टीवी पैनल से जुड़े अन्य उपकरणों से आने वाली ध्वनि बजाते हैं।

मैन्युअल सत्यापन

अपेक्षित व्यवहार को मैन्युअल रूप से सत्यापित करने के लिए निम्नलिखित परिदृश्यों का उपयोग करें:

  • एआरसी सेटिंग सक्षम है:
    • टीवी खुद को म्यूट कर देता है.
    • टीवी ध्वनि को डिवाइस के स्पीकर पर रूट किया जाता है।
  • एआरसी सेटिंग अक्षम है:
    • टीवी डिवाइस पर ऑडियो रूट करना बंद कर देता है।
    • टीवी ऑडियो चलाना शुरू कर देता है।
  • एआरसी सेटिंग सक्षम है और डिवाइस टीवी के गैर-एआरसी पोर्ट से जुड़ा है:
    • डिवाइस टीवी की ध्वनि नहीं चलाता है.
  • एआरसी सेटिंग सक्षम है और डिवाइस कनेक्ट होने से पहले तार्किक पता 5 किसी अन्य डिवाइस द्वारा उपयोग में है:
    • यह डिवाइस एक शुद्ध प्लेबैक डिवाइस की तरह व्यवहार करता है, साउंडबार की तरह नहीं।
  • एआरसी सेटिंग सक्षम है, तार्किक पता 5 डिवाइस द्वारा उपयोग में है, और एक अन्य ऑडियो सिस्टम नेटवर्क में जुड़ा हुआ है:
    • डिवाइस के साउंडबार व्यवहार में कोई बदलाव नहीं है।
  • एआरसी सेटिंग सक्षम है, तार्किक पता 5 गैर-एआरसी पोर्ट से जुड़े डिवाइस द्वारा उपयोग में है, और एक अन्य ऑडियो सिस्टम एआरसी पोर्ट से जुड़ा है:
    • दूसरे ऑडियो सिस्टम के लिए टीवी के साथ एआरसी कनेक्शन स्थापित नहीं है क्योंकि यह एक अपंजीकृत तार्किक पते का उपयोग करता है।
  • एआरसी सेटिंग सक्षम है, और डिवाइस हॉटप्लग है:
    • सेटिंग सक्षम होने पर डिवाइस सामान्य व्यवहार का अनुसरण करता है।

सीटीएस सत्यापन

साउंडबार सेटिंग अक्षम होने पर CtsHdmiCecHostTestCases को पास करना आवश्यक है। CtsHdmiCecHostTestCases परीक्षण सूट में HdmiCecSoundbarModeTest.java परीक्षण, DSM कार्यक्षमताओं का परीक्षण करता है।

हालांकि प्रमाणीकरण की आवश्यकता नहीं है, अपने कार्यान्वयन को मान्य करने के लिए सक्षम साउंडबार सेटिंग के साथ CtsHdmiCecHostTestCases चलाएं।

एचडीएमआई सीईसी के लिए एंड्रॉइड सीटीएस परीक्षण चलाने के लिए एंड्रॉइड टीवी उपकरणों के लिए सीईसी सीटीएस परीक्षण देखें।