ऑडियो कॉन्फ़िगरेशन AAOS फ़्लैग

Android Automotive OS (AAOS), फ़्लैग और कॉन्फ़िगरेशन का इस्तेमाल करके अलग-अलग इसमें डाइनैमिक रूटिंग से लेकर, ज़्यादा सामान्य फ़ीचर फ़्लैग तक शामिल होते हैं. जैसे, कार सर्विस से आवाज़ कम या ज़्यादा करने की सुविधा. ऑडियो के लिए, AAOS कॉन्फ़िगरेशन के मौजूदा फ़्लैग मैनेजमेंट के बारे में यहां बताया गया है.

चिह्नित करें मकसद
audioUseDynamicRouting इसे कार सर्विस कॉन्फ़िगरेशन फ़ाइल में तय किया गया है AAOS रूटिंग चालू करें. कॉन्फ़िगरेशन, true पर सेट होना चाहिए. जब false, रूटिंग और CarAudioService का ज़्यादातर हिस्सा बंद है और ओएस में बताए गए डिफ़ॉल्ट व्यवहार पर वापस आ जाता है ऑडियो नीतियां कॉन्फ़िगर करना.
audioUseCarVolumeGroupMuting किसी व्यक्ति की म्यूटिंग चालू करने के लिए कार सर्विस कॉन्फ़िगरेशन फ़ाइल में तय किया गया वॉल्यूम ग्रुप. जब यह वैल्यू false (डिफ़ॉल्ट वैल्यू) पर सेट की जाती है, तब इसे म्यूट किया जाता है अलग-अलग वॉल्यूम ग्रुप की सुविधा बंद है. इसके बजाय, म्यूट करने से मास्टर म्यूट टॉगल हो जाता है. true पर सेट करने पर, कार की आवाज़ ग्रुप को म्यूट करने की सुविधा चालू हो जाती है. साथ ही, हर किसी के लिए अलग-अलग वॉल्यूम ग्रुप को अलग से म्यूट किया जा सकता है. जब true, वॉल्यूम ग्रुप को म्यूट करने की सुविधा को ऑडियो कंट्रोल एचएएल.
audioUseHalDuckingSignals यह विकल्प चालू करने के लिए, कार सर्विस कॉन्फ़िगरेशन फ़ाइल में बताया गया है IAudioControl#onDevicesToDuckChange एपीआई, ताकि HAL को यह बताया जा सके कि उसे कब बतख. true (डिफ़ॉल्ट वैल्यू) होने पर, एपीआई को सिग्नल मिलते हैं, जिनसे पता चलता है कि आउटपुट डिवाइसों को डक करने के लिए और इस्तेमाल के दौरान फ़ोकस बनाए रखने में मदद मिलती है. जब false, एपीआई को कॉल नहीं किया गया है. एपीआई को तब तक कॉल नहीं किया जाता, जब तक ऑडियो कंट्रोल एचएएल डकिंग लागू करता है.
config_oemCarService कार सर्विस कॉन्फ़िगरेशन फ़ाइल में बताया गया है, यह कॉम्पोनेंट का नाम है पसंद के मुताबिक बनाने की सेवा मिलती है. OEM इस सेवा को इन पर लागू करने का विकल्प चुन सकते हैं: अलग-अलग नीतियों के हिसाब से कार सेवा से जुड़ी कार्रवाइयों को ज़रूरत के मुताबिक बनाया जा सकता है. अगर OEM, ऑप्ट-इन करते हैं इस कॉम्पोनेंट को लागू करना है, तो उन्हें एक सेवा लागू करनी होगी, ताकि OemCarService को कार-लिब के ज़रिए दिखाया जाता है. इसके बाद, इसे लागू किया जाता है सभी ज़रूरी कॉम्पोनेंट सेवाएं शामिल हैं. खास तौर पर, कार की ऑडियो सेवा के लिए, OEM ऑडियो ऐक्शन को मैनेज करने के लिए, किसी भी ऑडियो सब सेवा को लागू कर सकता है. इसके लिए विवरण, देखें कार ऑडियो प्लग इन सेवा. अगर कॉम्पोनेंट का नाम अमान्य है, तो CarService कनेक्ट नहीं होगा को भी OEM सेवा में जोड़ा जा सकता है. कॉम्पोनेंट का नाम, तीसरे पक्ष का कोई पैकेज नहीं हो सकता. यह पहले से इंस्टॉल होना चाहिए.
audioVolumeAdjustmentContextsVersion

कार सर्विस कॉन्फ़िगरेशन फ़ाइल में बताया गया है, कॉन्फ़िगरेशन आवाज़ कम या ज़्यादा करने के कॉन्टेक्स्ट की प्राथमिकता वाली सूची का वर्शन.

वर्शन 1 में सभी ऑडियो कॉन्टेक्स्ट शामिल किए गए हैं. इनका क्रम यह है:

  • NAVIGATION
  • CALL
  • MUSIC
  • ANNOUNCEMENT
  • VOICE_COMMAND
  • CALL_RING
  • SYSTEM_SOUND
  • SAFETY
  • ALARM
  • NOTIFICATION
  • VEHICLE_STATUSEMERGENCY

वर्शन 2, इस क्रम में नीचे दिए गए कॉन्टेक्स्ट के हिसाब से काम कर सकता है.

डिफ़ॉल्ट वर्शन 1 है.

  • CALL
  • MUSIC
  • ANNOUNCEMENT
  • VOICE_COMMAND
audioPersistMasterMuteState कार सेवा कॉन्फ़िगरेशन फ़ाइल में परिभाषित किया गया है, जो वैश्विक स्तर पर बना रहेगा म्यूट करें. जब true (डिफ़ॉल्ट वैल्यू) Android, बूट पर ग्लोबल म्यूट स्थिति. जब audioUseCarVolumeGroupMuting होता है true, इससे म्यूट के तौर पर किए जाने वाले बदलावों पर कोई असर नहीं पड़ता ये बदलाव अलग-अलग वॉल्यूम ग्रुप के हिसाब से होते हैं. डिफ़ॉल्ट वैल्यू इस पर सेट है true और मास्टर म्यूट नहीं होने पर ओवरराइट होना चाहिए एक डिवाइस के लिए बना रहता है.
audioVolumeKeyEventTimeoutMs

यह कॉन्फ़िगरेशन, कार सर्विस कॉन्फ़िगरेशन फ़ाइल में बताया गया है. कार वॉल्यूम ग्रुप को तब तक चालू माना जाता है, जब तक मिलीसेकंड में टाइम आउट नहीं होता वॉल्यूम मुख्य इवेंट के दौरान वॉल्यूम कंट्रोल में बदलाव होता है. कॉन्फ़िगरेशन का इस्तेमाल किया गया है इस तरह से:

  • टाइम आउट की मदद से, यह पता लगाया जाता है कि वीडियो (ऑडियो वॉल्यूम जुड़ा है या नहीं) ऑडियो के इस्तेमाल के लिए) अब भी अपने-आप चलना बंद हो जाने के बाद आवाज़ का चुनाव.
  • टाइम आउट का इस्तेमाल तब भी किया जाता है, जब अपने-आप (ऑटोमैटिक) मोड के बीच की अवधि को रोकना ज़रूरी होता है आवाज़ कम या ज़्यादा करें.

डिफ़ॉल्ट मान 3000 मिलीसेकंड है और यह होना चाहिए उपयोगकर्ता अनुभव को बेहतर बनाने के लिए OEM द्वारा एडजस्ट किया गया.

audioUseCarVolumeGroupEvent कार सर्विस कॉन्फ़िगरेशन फ़ाइल में बताया गया है, कॉलबैक चालू करने के लिए कॉन्फ़िगरेशन वॉल्यूम ग्रुप में इवेंट जोड़ें. true होने पर, क्लाइंट को कॉलबैक मिलेगा ICarVolumeGroupEvent से लेकर इवेंट की संख्या पर असर पड़ा है ग्रुप. चालू होने पर:

  • हमारा सुझाव है कि वे IAudioControl#setModuleChangeCallback और इवेंट और बदलावों के लिए IAudioControl#registerGainCallback ऑडियो हार्डवेयर.
  • जब CarVolumeCallback और CarVolumeGroupEventCallback भी उसी कंपनी ने रजिस्टर किए हैं ऐप है, तो वॉल्यूम ग्रुप इंडेक्स और वॉल्यूम ग्रुप म्यूट कॉलबैक करेंगे, सिर्फ़ CarVolumeGroupEventCallback के ज़रिए. इसलिए, हमारा सुझाव है कि सभी ऐप्लिकेशन नए वर्शन पर माइग्रेट करें कॉलबैक इंटरफ़ेस का इस्तेमाल किया गया है, ताकि परफ़ॉर्मेंस एक जैसा रहे.
  • डिफ़ॉल्ट वैल्यू false है. हमारा सुझाव है कि आप इसे true को किया गया, क्योंकि लेगसी वॉल्यूम के साथ काम करने वाले एपीआई कॉलबैक की सुविधा अब काम नहीं करती. इसे जल्द ही पूरी तरह से हटा दिया जाएगा.

config_useFixedVolume frameworks/base/core/res/res/values/config.xml में बताया गया है. कार ऑडियो सेवा को मैनेज करने की अनुमति देने के लिए, true पर सेट होना चाहिए वॉल्यूम नियंत्रण. जब config_useFixedVolume फ़्लैग नहीं हो सेट है या false (डिफ़ॉल्ट वैल्यू) पर सेट है, तो ऐप्लिकेशन AudioManager Volume Management API और इसके हिसाब से आवाज़ कम या ज़्यादा करें स्ट्रीम टाइप को चुनना होगा. ऐसा हो सकता है कि आपको यह काम न आए, क्योंकि अन्य ऐप्लिकेशन पर पड़ने वाले संभावित असर और इस बात का कि तो सॉफ़्टवेयर मिक्सर के इस्तेमाल से हार्डवेयर एम्प्लफ़ायर पर मिलने पर सिग्नल की क्षमता. ऐसे नए डिवाइस जिनमें को कॉन्फ़िगर किया गया है और जो true पर सेट है, वॉल्यूम में बदलाव पाएं AudioManager वॉल्यूम और म्यूट एपीआई का इस्तेमाल करके.
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 रनटाइम रिसॉर्स ओवरले. RRO का इस्तेमाल करके कार के ऑडियो कॉन्फ़िगरेशन की वैल्यू. उदाहरण के लिए, Automotive cuttlefish में रेफ़रंस device/google/cuttlefish/shared/auto/rro_overlay/. कॉन्टेंट बनाने 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 अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है com.android.car.updatable के रूप में सेट targetPackage शामिल है.

ज़्यादा जानकारी के लिए ये संसाधन देखें:

सुविधा-चालू एपीआई

अगर डिवाइस पर यह सुविधा चालू है, तो यह तरीका true दिखाता है. ऐसा न होने पर false. CarAudioManager#isAudioFeatureEnabled एपीआई में, पैरामीटर पास होना चाहिए:

  • AUDIO_FEATURE_DYNAMIC_ROUTING
  • AUDIO_FEATURE_VOLUME_GROUP_MUTING
  • AUDIO_FEATURE_OEM_AUDIO_SERVICE
  • AUDIO_FEATURE_VOLUME_GROUP_EVENTS
  • AUDIO_FEATURE_AUDIO_MIRRORING