एंड्रॉइड ऑटोमोटिव ओएस (एएओएस) विभिन्न सुविधाओं को सक्षम करने के लिए फ़्लैग और कॉन्फ़िगरेशन का उपयोग करता है, जो डायनेमिक रूटिंग से लेकर अधिक सामान्य फ़ीचर फ़्लैग तक शुरू होता है, जैसे कार सेवा से वॉल्यूम नियंत्रण। ऑडियो प्रबंधन के लिए वर्तमान AAOS कॉन्फ़िगरेशन फ़्लैग का वर्णन यहां किया गया है।
झंडा | उद्देश्य | |
---|---|---|
audioUseDynamicRouting | AAOS रूटिंग सक्षम करने के लिए कार सेवा कॉन्फ़िगरेशन फ़ाइल में परिभाषित। कॉन्फ़िगरेशन को true पर सेट किया जाना चाहिए। जब false , तो रूटिंग और अधिकांश CarAudioService अक्षम हो जाते हैं और OS ऑडियो नीतियों को कॉन्फ़िगर करने में वर्णित डिफ़ॉल्ट व्यवहार पर वापस आ जाता है। | |
audioUseCarVolumeGroupMuting | अलग-अलग वॉल्यूम समूहों को म्यूट करने को सक्षम करने के लिए कार सेवा कॉन्फ़िगरेशन फ़ाइल में परिभाषित किया गया है। जब false (डिफ़ॉल्ट मान) पर सेट किया जाता है, तो अलग-अलग वॉल्यूम समूहों को म्यूट करना अक्षम हो जाता है। इसके बजाय, म्यूट करने से मास्टर म्यूट टॉगल हो जाता है। true पर सेट होने पर, कार वॉल्यूम समूह म्यूटिंग सक्षम हो जाती है और प्रत्येक व्यक्तिगत वॉल्यूम समूह को अलग से म्यूट किया जा सकता है। true होने पर, वॉल्यूम समूह म्यूटिंग को ऑडियो कंट्रोल एचएएल पर लागू किया जाना चाहिए। | |
audioUseHalDuckingSignals | एचएएल को सूचित करने के लिए कि कब डक करना है IAudioControl#onDevicesToDuckChange API को सक्षम करने के लिए कार सेवा कॉन्फ़िगरेशन फ़ाइल में परिभाषित किया गया है। true (डिफ़ॉल्ट मान) होने पर, एपीआई को सिग्नल प्राप्त होते हैं जो दर्शाते हैं कि कौन से आउटपुट डिवाइस को डक करना है और कौन से उपयोग फोकस बनाए रखते हैं। false होने पर, एपीआई को कॉल नहीं किया जाता है। जब तक ऑडियो कंट्रोल एचएएल डकिंग लागू नहीं करता तब तक एपीआई को कॉल नहीं किया जाता है। | |
config_oemCarService | कार सेवा कॉन्फ़िगरेशन फ़ाइल में परिभाषित, यह OEM अनुकूलन सेवा के लिए घटक नाम है। ओईएम विभिन्न नीतियों के लिए कार सेवा कार्यों को अनुकूलित करने के लिए इस सेवा को लागू करने का विकल्प चुन सकते हैं। यदि OEM इस घटक को लागू करने का विकल्प चुनते हैं, तो उन्हें कार-लिब द्वारा उजागर OemCarService विस्तार करने के लिए एक सेवा लागू करनी होगी, और फिर आवश्यक घटक सेवाओं को लागू करना होगा। विशेष रूप से कार ऑडियो सेवा के लिए, ओईएम ऑडियो कार्रवाई को प्रबंधित करने के लिए किसी भी ऑडियो उप सेवाओं को लागू कर सकते हैं। विवरण के लिए, कार ऑडियो प्लगइन सेवा देखें। यदि घटक नाम अमान्य है, CarService किसी भी OEM सेवा से कनेक्ट नहीं होगा। घटक नाम कोई तृतीय पक्ष पैकेज नहीं हो सकता. यह पहले से इंस्टॉल होना चाहिए. | audioVolumeAdjustmentContextsVersion | कार सेवा कॉन्फ़िगरेशन फ़ाइल में परिभाषित, वॉल्यूम समायोजन संदर्भ प्राथमिकता सूची के संस्करण का चयन करने के लिए कॉन्फ़िगरेशन। संस्करण 1 में इस क्रम में सभी ऑडियो संदर्भ शामिल हैं:
इस क्रम में संस्करण 2 निम्नलिखित संदर्भों तक सीमित है। डिफ़ॉल्ट संस्करण
|
audioPersistMasterMuteState | कार सेवा कॉन्फ़िगरेशन फ़ाइल में परिभाषित, वैश्विक म्यूट स्थिति को जारी रखने के लिए कॉन्फ़िगरेशन। जब true (डिफ़ॉल्ट मान) एंड्रॉइड बूट पर वैश्विक म्यूट स्थिति को पुनर्स्थापित करता है। जब audioUseCarVolumeGroupMuting true है, तो इसका निरंतर म्यूट परिवर्तनों पर कोई प्रभाव नहीं पड़ता है क्योंकि म्यूट परिवर्तन व्यक्तिगत वॉल्यूम समूहों पर आधारित होते हैं। डिफ़ॉल्ट मान true पर सेट है और जब किसी डिवाइस के लिए मास्टर म्यूट जारी नहीं रखा जाना चाहिए तो इसे अधिलेखित किया जाना चाहिए। | |
audioVolumeKeyEventTimeoutMs | कार सेवा कॉन्फ़िगरेशन फ़ाइल में परिभाषित, मिलीसेकंड में टाइमआउट इंगित करने के लिए कॉन्फ़िगरेशन, जबकि वॉल्यूम कुंजी घटनाओं के दौरान वॉल्यूम नियंत्रण परिवर्तनों के लिए कार वॉल्यूम समूह को सक्रिय माना जाता है। कॉन्फ़िगरेशन का उपयोग इस प्रकार किया जाता है:
डिफ़ॉल्ट मान | |
audioUseCarVolumeGroupEvent | कार सेवा कॉन्फ़िगरेशन फ़ाइल में परिभाषित, वॉल्यूम समूहों में कॉलबैक ईवेंट सक्षम करने के लिए कॉन्फ़िगरेशन। true होने पर, क्लाइंट को वॉल्यूम समूहों को प्रभावित करने वाली घटनाओं के लिए ICarVolumeGroupEvent के माध्यम से कॉलबैक प्राप्त होता है। सक्षम होने पर:
मूल मूल्य | |
config_useFixedVolume | frameworks/base/core/res/res/values/config.xml में परिभाषित। कार ऑडियो सेवा को वॉल्यूम नियंत्रण प्रबंधित करने की अनुमति देने के लिए इसे true पर सेट किया जाना चाहिए। जब config_useFixedVolume फ़्लैग सेट नहीं होता है, या false (डिफ़ॉल्ट मान) पर सेट होता है, तो ऐप्स AudioManager वॉल्यूम प्रबंधन API को कॉल कर सकते हैं और सॉफ़्टवेयर मिक्सर में स्ट्रीम प्रकार के अनुसार वॉल्यूम बदल सकते हैं। यह अन्य ऐप्स पर संभावित प्रभाव और इस तथ्य के कारण अवांछनीय हो सकता है कि सॉफ़्टवेयर मिक्सर में वॉल्यूम क्षीणन के परिणामस्वरूप हार्डवेयर एम्पलीफायर पर प्राप्त सिग्नल में कम महत्वपूर्ण बिट्स उपलब्ध हो सकते हैं। नए डिवाइस जिन्हें कॉन्फ़िगर नहीं किया गया है और जो true पर सेट हैं, AudioManager वॉल्यूम और म्यूट एपीआई के माध्यम से वॉल्यूम परिवर्तन प्राप्त करते हैं। | |
config_handleVolumeKeysInWindowManager | frameworks/base/core/res/res/values/config.xml में परिभाषित, कार ऑडियो सेवा को वॉल्यूम कुंजी घटनाओं को रोकने की अनुमति देने के लिए true पर सेट किया जाना चाहिए। यदि false (डिफ़ॉल्ट मान) पर सेट किया जाता है तो वॉल्यूम कुंजी ईवेंट को अग्रभूमि ऐप पर अग्रेषित किया जा सकता है और कार ऑडियो सेवा के बाहर वॉल्यूम कुंजी ईवेंट प्रबंधन से प्रतिकूल परिणाम हो सकते हैं। |
कार ऑडियो सेवा कॉन्फ़िगरेशन
एंड्रॉइड 13 से पहले, packages/services/Car/service/res/values/config.xml
फ़ाइल के लिए कार सेवा कॉन्फ़िगरेशन को उत्पाद कॉन्फ़िगरेशन ओवरले (अधिक जानने के लिए, संसाधन ओवरले के साथ बिल्ड को कस्टमाइज़ करना देखें) के साथ ओवरराइट किया गया था ।
PRODUCT_PACKAGE_OVERLAYS := <path_to_overlay>
<path_to_overlay>
से वास्तविक स्थान तक कॉन्फ़िगरेशन फ़ाइल के स्थान में packages/services/Car/service/res/values/
शामिल होना चाहिए।
कार सेवा आरआरओ
Android 13 के बाद से, AAOS रनटाइम संसाधन ओवरले का समर्थन करता है। कार ऑडियो कॉन्फ़िगरेशन का मान बदलने के लिए आरआरओ का उपयोग करें। उदाहरण के लिए, device/google/cuttlefish/shared/auto/rro_overlay/
में ऑटोमोटिव cuttlefish
संदर्भ के लिए आरआरओ देखें। audioUseDynamicRouting
कॉन्फिगरेशन device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/values/config.xml
में ओवरराइड किया गया है।
<resources>
<bool name="audioUseDynamicRouting">true</bool>
...
संसाधन ओवरले मानचित्र device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/xml/overlays.xml
में समाहित है:
<overlay>
...
<item target="bool/audioUseDynamicRouting"
value="@bool/audioUseDynamicRouting" />
...
</overlay>
device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/AndroidManifest.xml
में परिभाषित संसाधन ओवरले मेनिफेस्ट में targetPackage
com.android.car.updatable
के रूप में सेट किया गया है।
अधिक जानकारी के लिए ये संसाधन देखें:
फ़ीचर-सक्षम एपीआई
यदि डिवाइस पर सुविधा सक्षम है तो विधि true
लौटाती है, अन्यथा false
लौटाती है। CarAudioManager#isAudioFeatureEnabled
API में, पारित पैरामीटर इनमें से एक होना चाहिए:
-
AUDIO_FEATURE_DYNAMIC_ROUTING
-
AUDIO_FEATURE_VOLUME_GROUP_MUTING
-
AUDIO_FEATURE_OEM_AUDIO_SERVICE
-
AUDIO_FEATURE_VOLUME_GROUP_EVENTS
-
AUDIO_FEATURE_AUDIO_MIRRORING