खास जानकारी

एंड्रॉइड ऑटोमोटिव ओएस (एएओएस) एक वाहन में इंफोटेनमेंट सिस्टम के रूप में संचालन के लिए उपयोग के मामलों का समर्थन करने के लिए कोर एंड्रॉइड ऑडियो स्टैक पर बनाता है। AAOS इन्फोटेनमेंट ध्वनियों (अर्थात मीडिया, नेविगेशन और संचार) के लिए जिम्मेदार है, लेकिन उन झंकार और चेतावनियों के लिए सीधे तौर पर जिम्मेदार नहीं है जिनकी उपलब्धता और समय की सख्त आवश्यकताएं हैं।

जबकि AAOS वाहन को ऑडियो प्रबंधित करने में मदद करने के लिए सिग्नल और तंत्र प्रदान करता है, अंत में यह वाहन पर निर्भर है कि वह ड्राइवर और यात्रियों के लिए कौन सी ध्वनियाँ बजाना चाहिए, यह सुनिश्चित करते हुए कि सुरक्षा संबंधी महत्वपूर्ण ध्वनियाँ और नियामक ध्वनियाँ ठीक से सुनी जा सकें। रुकावट.

चूंकि एएओएस एंड्रॉइड ऑडियो स्टैक का लाभ उठाता है, इसलिए ऑडियो चलाने वाले तीसरे पक्ष के एप्लिकेशन को फोन की तुलना में कुछ अलग करने की आवश्यकता नहीं होती है। ऑडियो नीति कॉन्फ़िगरेशन में वर्णित अनुसार एप्लिकेशन की ऑडियो रूटिंग स्वचालित रूप से AAOS द्वारा प्रबंधित की जाती है।

चूंकि एंड्रॉइड वाहन के मीडिया अनुभव को प्रबंधित करता है, रेडियो ट्यूनर जैसे बाहरी मीडिया स्रोतों को ऐप्स द्वारा दर्शाया जाना चाहिए, जो स्रोत के लिए ऑडियो फोकस और मीडिया कुंजी घटनाओं को संभाल सकते हैं।

Android ध्वनियाँ और धाराएँ

ऑटोमोटिव ऑडियो सिस्टम निम्नलिखित ध्वनियों और धाराओं को संभालते हैं:

image

चित्र 1. स्ट्रीम-केंद्रित वास्तुकला आरेख।

एंड्रॉइड एंड्रॉइड ऐप्स से आने वाली ध्वनियों को प्रबंधित करता है, उन ऐप्स को नियंत्रित करता है और ध्वनि के प्रकार के आधार पर उनकी ध्वनियों को एचएएल पर आउटपुट डिवाइस पर रूट करता है:

  • तार्किक धाराएँ , जिन्हें कोर ऑडियो नामकरण में स्रोतों के रूप में जाना जाता है, ऑडियो विशेषताओं के साथ टैग की जाती हैं।

  • भौतिक स्ट्रीम , जिन्हें कोर ऑडियो नामकरण में डिवाइस के रूप में जाना जाता है, में मिश्रण के बाद कोई संदर्भ जानकारी नहीं होती है।

विश्वसनीयता के लिए, बाहरी ध्वनियों (स्वतंत्र स्रोतों से आने वाली, जैसे सीटबेल्ट चेतावनी झंकार) को एंड्रॉइड के बाहर, एचएएल के नीचे या यहां तक ​​​​कि अलग हार्डवेयर में प्रबंधित किया जाता है। सिस्टम कार्यान्वयनकर्ताओं को एक मिक्सर प्रदान करना होगा जो एंड्रॉइड से ध्वनि इनपुट की एक या अधिक धाराओं को स्वीकार करता है और फिर उन धाराओं को वाहन के लिए आवश्यक बाहरी ध्वनि स्रोतों के साथ उपयुक्त तरीके से जोड़ता है। एंड्रॉइड कंट्रोल एचएएल एंड्रॉइड के बाहर उत्पन्न होने वाली ध्वनियों को एंड्रॉइड पर वापस संचार करने के लिए एक अलग तंत्र प्रदान करता है:

  • ऑडियो फोकस अनुरोध
  • लाभ या मात्रा सीमाएँ
  • लाभ और मात्रा में परिवर्तन

ऑडियो एचएएल कार्यान्वयन और बाहरी मिक्सर यह सुनिश्चित करने के लिए जिम्मेदार हैं कि सुरक्षा-महत्वपूर्ण बाहरी ध्वनियां सुनी जाती हैं और एंड्रॉइड-प्रदत्त स्ट्रीम में मिश्रण करने और उन्हें उपयुक्त स्पीकर तक रूट करने के लिए जिम्मेदार हैं।

एंड्रॉइड लगता है

ऐप्स में एक या अधिक प्लेयर हो सकते हैं जो ऑडियो डेटा की एक या अधिक तार्किक स्ट्रीम उत्सर्जित करने के लिए मानक एंड्रॉइड एपीआई (उदाहरण के लिए, फोकस नियंत्रण के लिए ऑडियोमैनेजर या स्ट्रीमिंग के लिए मीडियाप्लेयर ) के माध्यम से इंटरैक्ट करते हैं। यह डेटा एकल चैनल मोनो या 7.1 सराउंड हो सकता है, लेकिन इसे रूट किया जाता है और एकल स्रोत के रूप में माना जाता है। ऐप स्ट्रीम AudioAttributes से संबद्ध है जो सिस्टम को संकेत देता है कि ऑडियो को कैसे व्यक्त किया जाना चाहिए।

तार्किक धाराएँ AudioService के माध्यम से भेजी जाती हैं और उपलब्ध भौतिक आउटपुट स्ट्रीम में से एक (और केवल एक) पर रूट की जाती हैं, जिनमें से प्रत्येक AudioFlinger के भीतर एक मिक्सर का आउटपुट है। ऑडियो विशेषताओं को भौतिक स्ट्रीम में मिला दिए जाने के बाद, वे अब उपलब्ध नहीं हैं।

फिर प्रत्येक भौतिक स्ट्रीम को हार्डवेयर पर प्रस्तुत करने के लिए ऑडियो एचएएल को वितरित किया जाता है। ऑटोमोटिव ऐप्स में, रेंडरिंग हार्डवेयर स्थानीय कोडेक्स (मोबाइल उपकरणों के समान) या वाहन के भौतिक नेटवर्क पर एक रिमोट प्रोसेसर हो सकता है। किसी भी तरह से, वास्तविक नमूना डेटा वितरित करना और इसे श्रव्य बनाना ऑडियो एचएएल कार्यान्वयन का काम है।

बाहरी धाराएँ

ध्वनि स्ट्रीम जिन्हें एंड्रॉइड के माध्यम से रूट नहीं किया जाना चाहिए (प्रमाणीकरण या समय संबंधी कारणों से) सीधे बाहरी मिक्सर को भेजा जा सकता है। एंड्रॉइड 11 के अनुसार, एचएएल अब एंड्रॉइड को सूचित करने के लिए इन बाहरी ध्वनियों के लिए फोकस का अनुरोध करने में सक्षम है ताकि वह मीडिया को रोकने या दूसरों को फोकस हासिल करने से रोकने जैसी उचित कार्रवाई कर सके।

यदि बाहरी स्ट्रीम मीडिया स्रोत हैं जिन्हें एंड्रॉइड द्वारा उत्पन्न ध्वनि वातावरण के साथ इंटरैक्ट करना चाहिए (उदाहरण के लिए, बाहरी ट्यूनर चालू होने पर एमपी 3 प्लेबैक बंद करें), तो उन बाहरी स्ट्रीम को एंड्रॉइड ऐप द्वारा दर्शाया जाना चाहिए। ऐसा ऐप एचएएल के बजाय मीडिया स्रोत की ओर से ऑडियो फोकस का अनुरोध करेगा, और एंड्रॉइड फोकस नीति में फिट होने के लिए आवश्यक बाहरी स्रोत को शुरू और बंद करके फोकस सूचनाओं का जवाब देगा।

ऐप मीडिया की प्रमुख घटनाओं जैसे प्ले और पॉज़ को संभालने के लिए भी ज़िम्मेदार है। ऐसे बाहरी उपकरणों को नियंत्रित करने के लिए एक सुझाया गया तंत्र HwAudioSource है। अधिक जानने के लिए, AAOS में एक इनपुट डिवाइस कनेक्ट करें देखें।

आउटपुट डिवाइस

ऑडियो HAL स्तर पर, डिवाइस प्रकार AUDIO_DEVICE_OUT_BUS वाहन ऑडियो सिस्टम में उपयोग के लिए एक सामान्य आउटपुट डिवाइस प्रदान करता है। बस डिवाइस एड्रेसेबल पोर्ट्स (जहां प्रत्येक पोर्ट भौतिक स्ट्रीम के लिए अंतिम बिंदु है) का समर्थन करता है और वाहन में एकमात्र समर्थित आउटपुट डिवाइस प्रकार होने की उम्मीद है।

एक सिस्टम कार्यान्वयन सभी एंड्रॉइड ध्वनियों के लिए एक बस पोर्ट का उपयोग कर सकता है, इस स्थिति में एंड्रॉइड सब कुछ एक साथ मिलाता है और इसे एक स्ट्रीम के रूप में वितरित करता है। वैकल्पिक रूप से, HAL किसी भी प्रकार की ध्वनि की समवर्ती डिलीवरी की अनुमति देने के लिए प्रत्येक CarAudioContext के लिए एक बस पोर्ट प्रदान कर सकता है। इससे एचएएल कार्यान्वयन के लिए इच्छानुसार विभिन्न ध्वनियों को मिलाना और डुबाना संभव हो जाता है।

आउटपुट डिवाइसों के लिए ऑडियो संदर्भों का असाइनमेंट car_audio_configuration.xml फ़ाइल के माध्यम से किया जाता है। अधिक जानने के लिए, ऑडियो नीति कॉन्फ़िगरेशन देखें।