Android Automotive OS (AAOS), अलग-अलग सुविधाओं को चालू करने के लिए, फ़्लैग और कॉन्फ़िगरेशन का इस्तेमाल करता है. इन सुविधाओं में, डाइनैमिक रूटिंग से लेकर सामान्य सुविधाओं के फ़्लैग शामिल हैं. जैसे, कार की सेवा से वॉल्यूम कंट्रोल करना. ऑडियो मैनेजमेंट के लिए, AAOS के मौजूदा कॉन्फ़िगरेशन फ़्लैग के बारे में यहां बताया गया है.
चिह्नित करें | मकसद | |
---|---|---|
audioUseDynamicRouting |
कार सेवा की कॉन्फ़िगरेशन फ़ाइल में, इसे AAOS रूटिंग की सुविधा चालू करने के लिए तय किया गया है.
config को true पर सेट किया जाना चाहिए. जब false ,
रूटिंग, और CarAudioService का ज़्यादातर हिस्सा बंद हो जाता है, तो ऑपरेटिंग सिस्टम, ऑडियो नीतियों को कॉन्फ़िगर करना में बताए गए डिफ़ॉल्ट तरीके पर वापस आ जाता है.
|
|
audioUseCarVolumeGroupMuting
| कार की सेवा की कॉन्फ़िगरेशन फ़ाइल में तय किया गया है, ताकि अलग-अलग आवाज़ के ग्रुप को म्यूट किया जा सके. false (डिफ़ॉल्ट वैल्यू) पर सेट होने पर, अलग-अलग वॉल्यूम ग्रुप को म्यूट करने की सुविधा बंद हो जाती है. इसके बजाय, म्यूट करने पर, सभी कॉल को म्यूट करने की सुविधा चालू हो जाती है.
true पर सेट करने पर, कार के वॉल्यूम ग्रुप को म्यूट करने की सुविधा चालू हो जाती है. साथ ही, हर वॉल्यूम ग्रुप को अलग से म्यूट किया जा सकता है. true होने पर,
ऑडियो कंट्रोल एचएएल में वॉल्यूम ग्रुप को म्यूट करने की सुविधा लागू की जानी चाहिए.
| |
audioUseHalDuckingSignals |
कार सेवा कॉन्फ़िगरेशन फ़ाइल में तय किया गया है, ताकि IAudioControl#onDevicesToDuckChange एपीआई को चालू किया जा सके. इससे एपीआई, एचएएल को यह बता पाएगा कि कब डक करना है. true (डिफ़ॉल्ट वैल्यू) होने पर, एपीआई को सिग्नल मिलते हैं. इनसे यह पता चलता है कि किन आउटपुट डिवाइसों को डक करना है और किन इस्तेमालों पर फ़ोकस रखना है. जब false ,
तो एपीआई को कॉल नहीं किया जाता. जब तक Audio Control HAL डकिंग लागू नहीं करता, तब तक एपीआई को कॉल नहीं किया जाता.
|
|
config_oemCarService |
कार की सेवा की कॉन्फ़िगरेशन फ़ाइल में बताया गया है. यह OEM की पसंद के मुताबिक बनाने की सेवा के लिए कॉम्पोनेंट का नाम है. OEM, इस सेवा को लागू करने का विकल्प चुन सकते हैं, ताकि वे अलग-अलग नीतियों के लिए, कार की सेवा से जुड़ी कार्रवाइयों को पसंद के मुताबिक बना सकें. अगर OEM इस कॉम्पोनेंट को लागू करने का विकल्प चुनते हैं, तो उन्हें car-lib के ज़रिए एक्सपोज़ की गई OemCarService को बढ़ाने के लिए एक सेवा लागू करनी होगी. इसके बाद, ज़रूरी कॉम्पोनेंट सेवाओं को लागू करना होगा. खास तौर पर, कार की ऑडियो सेवा के लिए, OEMs
ऑडियो ऐक्शन को मैनेज करने के लिए, ऑडियो की किसी भी सब-सेवा को लागू कर सकते हैं. ज़्यादा जानकारी के लिए, कार ऑडियो प्लग इन सेवा देखें.
अगर कॉम्पोनेंट का नाम अमान्य है, तो CarService किसी भी OEM सेवा से कनेक्ट नहीं होगा. कॉम्पोनेंट का नाम, तीसरे पक्ष का पैकेज नहीं हो सकता. यह ऐप्लिकेशन पहले से ही इंस्टॉल होना चाहिए. |
|
audioVolumeAdjustmentContextsVersion |
कार सेवा कॉन्फ़िगरेशन फ़ाइल में तय किया गया, वॉल्यूम अडजस्टमेंट कॉन्टेक्स्ट की प्राथमिकता सूची का वर्शन चुनने के लिए कॉन्फ़िगरेशन. पहले वर्शन में, ऑडियो के सभी कॉन्टेक्स्ट इस क्रम में शामिल होते हैं:
वर्शन 2, इन कॉन्टेक्स्ट तक ही सीमित है. डिफ़ॉल्ट वर्शन
|
|
audioPersistMasterMuteState |
कार सेवा कॉन्फ़िगरेशन फ़ाइल में तय किया गया, ग्लोबल तौर पर म्यूट करने की स्थिति को बनाए रखने के लिए कॉन्फ़िगरेशन. true (डिफ़ॉल्ट वैल्यू) होने पर, Android डिवाइस को बूट करने पर,
ग्लोबल म्यूट की स्थिति को वापस लाता है. जब audioUseCarVolumeGroupMuting की वैल्यू
true हो, तो म्यूट करने के उन बदलावों पर इसका कोई असर नहीं पड़ता जो लागू हैं. ऐसा इसलिए, क्योंकि म्यूट करने के बदलाव, वॉल्यूम के अलग-अलग ग्रुप पर आधारित होते हैं. इसकी डिफ़ॉल्ट वैल्यू true पर सेट होती है. अगर किसी डिवाइस के लिए, मास्टरम्यूट की सुविधा को सेव नहीं करना है, तो इस वैल्यू को बदलना होगा. |
|
audioVolumeKeyEventTimeoutMs |
कार सेवा कॉन्फ़िगरेशन फ़ाइल में तय किया गया, कॉन्फ़िगरेशन, जो वॉल्यूम बटन वाले इवेंट के दौरान, वॉल्यूम कंट्रोल में बदलाव करने के लिए, कार के वॉल्यूम ग्रुप को चालू माना जाता है. यह कॉन्फ़िगरेशन, मिलीसेकंड में टाइम आउट दिखाता है. कॉन्फ़िगरेशन का इस्तेमाल इस तरह किया जाता है:
डिफ़ॉल्ट वैल्यू |
|
audioUseCarVolumeGroupEvent |
कार सेवा कॉन्फ़िगरेशन फ़ाइल में तय किया गया, वॉल्यूम ग्रुप के लिए कॉलबैक इवेंट चालू करने के लिए कॉन्फ़िगरेशन. जब true , क्लाइंट को ICarVolumeGroupEvent के ज़रिए कॉलबैक मिलता है, तो यह उन इवेंट के लिए होता है जिनका वॉल्यूम ग्रुप पर असर पड़ता है. चालू होने पर:
डिफ़ॉल्ट वैल्यू |
|
config_useFixedVolume
| frameworks/base/core/res/res/values/config.xml में तय की गई है.
कार की ऑडियो सेवा को वॉल्यूम कंट्रोल मैनेज करने की अनुमति देने के लिए, इसे true पर सेट करना ज़रूरी है. जब config_useFixedVolume फ़्लैग सेट नहीं होता है या false (डिफ़ॉल्ट वैल्यू) पर सेट होता है, तो ऐप्लिकेशन AudioManager वॉल्यूम मैनेजमेंट एपीआई को कॉल कर सकते हैं और सॉफ़्टवेयर मिक्सर में स्ट्रीम टाइप के हिसाब से वॉल्यूम बदल सकते हैं. ऐसा करना शायद ठीक न हो, क्योंकि इससे दूसरे ऐप्लिकेशन पर असर पड़ सकता है. साथ ही, सॉफ़्टवेयर मिक्सर में आवाज़ कम करने की वजह से, हार्डवेयर एम्प्लफ़ायर पर सिग्नल मिलने पर, उसमें कम अहम बिट उपलब्ध हो सकते हैं. ऐसे नए डिवाइस जिन्हें कॉन्फ़िगर नहीं किया गया है और जो AudioManager आवाज़ और म्यूट एपीआई के ज़रिए, true आवाज़ में बदलाव पाने के लिए सेट हैं.
|
|
config_handleVolumeKeysInWindowManager |
frameworks/base/core/res/res/values/config.xml में तय की गई, इसे true पर सेट करना ज़रूरी है, ताकि कार की ऑडियो सेवा, वॉल्यूम के मुख्य इवेंट को इंटरसेप्ट कर सके. अगर इसे false (डिफ़ॉल्ट वैल्यू) पर सेट किया जाता है, तो वॉल्यूम बटन से होने वाले मुख्य इवेंट, फ़ोरग्राउंड ऐप्लिकेशन को भेजे जा सकते हैं. इससे कार की ऑडियो सेवा के बाहर, वॉल्यूम बटन से होने वाले मुख्य इवेंट के मैनेजमेंट से खराब नतीजे मिल सकते हैं. |
कार की ऑडियो सेवा के कॉन्फ़िगरेशन
Android 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