Android 13 में स्पेशल ऑडियो की सुविधा उपलब्ध है. इसके लिए, एपीआई दिए गए हैं. इनकी मदद से, ऐप्लिकेशन डेवलपर यह पता लगा सकते हैं कि फ़ोन में सेट किए गए सिस्टम, कनेक्ट किए गए हेडसेट, और उपयोगकर्ता की सेटिंग के मौजूदा कॉम्बिनेशन से, मल्टीचैनल ऑडियो कॉन्टेंट को इमर्सिव तरीके से चलाया जा सकता है या नहीं.
ओईएम, नई ऑडियो पाइपलाइन आर्किटेक्चर और सेंसर फ़्रेमवर्क इंटिग्रेशन का इस्तेमाल करके, हेड ट्रैकिंग की सुविधा के साथ स्पेशलाइज़र ऑडियो इफ़ेक्ट उपलब्ध करा सकते हैं. इससे परफ़ॉर्मेंस और लेटेंसी के ज़रूरी लेवल को हासिल किया जा सकता है. एचआईडी प्रोटोकॉल में यह बताया गया है कि ब्लूटूथ के ज़रिए हेड-ट्रैकिंग डिवाइस को कैसे अटैच किया जाए और Android सेंसर फ़्रेमवर्क के ज़रिए इसे एचआईडी डिवाइस के तौर पर कैसे उपलब्ध कराया जाए. ज़्यादा ज़रूरी शर्तें और पुष्टि करने के लिए, स्पेशल ऑडियो और हेड ट्रैकिंग की सुविधा लेख पढ़ें.
इस पेज पर दिए गए दिशा-निर्देश, स्पेशल ऑडियो के ऐसे सलूशन पर लागू होते हैं जो Android 13 और इसके बाद के वर्शन वाले Android फ़ोन पर, स्पेशल ऑडियो के नए एपीआई और ऑडियो आर्किटेक्चर का इस्तेमाल करते हैं. साथ ही, ये दिशा-निर्देश, हेड-ट्रैकिंग सेंसर वाले ऐसे हेडसेट पर भी लागू होते हैं जो इन एपीआई और आर्किटेक्चर के साथ काम करते हैं.
डाइनैमिक और स्टैटिक स्पेशल ऑडियो मोड लागू करने के लिए दिशा-निर्देश
स्टैटिक स्पेशल ऑडियो के लिए, हेड ट्रैकिंग की ज़रूरत नहीं होती. इसलिए, हेडसेट में किसी खास फ़ंक्शन की ज़रूरत नहीं होती. तार वाले और वायरलेस, दोनों तरह के हेडसेट, स्टैटिक स्पेशल ऑडियो के साथ काम कर सकते हैं.
एपीआई लागू करना
ओईएम को Android 12 में पेश की गई Spatializer
क्लास को लागू करना ज़रूरी है. लागू करने के बाद, सीटीएस टेस्ट
पास करने ज़रूरी हैं, जिन्हें
Spatializer
क्लास के लिए पेश किया गया है.
एपीआई को सही तरीके से लागू करने से ऐप्लिकेशन डेवलपर को, खास तौर पर मीडिया स्ट्रीमिंग ऐप्लिकेशन बनाने वालों को, यह पक्का करने में मदद मिलती है कि पूरे प्लैटफ़ॉर्म पर एक जैसा व्यवहार हो. साथ ही, इससे वे डिवाइस की क्षमताओं, रेंडरिंग के मौजूदा कॉन्टेक्स्ट, और उपयोगकर्ता की पसंद के हिसाब से सबसे अच्छा कॉन्टेंट चुन सकते हैं.
यूज़र इंटरफ़ेस
Spatializer
क्लास को लागू करने के बाद, पुष्टि करें कि आपके यूज़र इंटरफ़ेस (यूआई) का व्यवहार ऐसा हो:
स्पेशल ऑडियो की सुविधा के साथ काम करने वाले हेडसेट को पेयर करने पर, इस हेडसेट के लिए ब्लूटूथ डिवाइस की सेटिंग में स्पेशल ऑडियो टॉगल दिखता है:
पहली इमेज. स्पेशल ऑडियो की सेटिंग.
हेडसेट के डिसकनेक्ट होने पर, सेटिंग उपलब्ध होती हैं.
हेडसेट को पहली बार पेयर करने के बाद, स्पेशल ऑडियो की सुविधा डिफ़ॉल्ट रूप से चालू होती है.
उपयोगकर्ता ने इस सुविधा को चालू किया है या बंद किया है, यह जानकारी फ़ोन को रीबूट करने या हेडसेट को अनपेयर और पेयर करने के बाद भी बनी रहती है.
फ़ंक्शनल व्यवहार
ऑडियो फ़ॉर्मैट
जब स्पेशल ऑडियो की सुविधा चालू हो और रेंडरिंग डिवाइस, तार वाला या ब्लूटूथ हेडसेट हो, तब स्पेशलाइज़र इफ़ेक्ट को इन ऑडियो फ़ॉर्मैट को रेंडर करना ज़रूरी है:
- एएसी, 5.1 चैनल
- रॉ पीसीएम, 5.1 चैनल
हमारा सुझाव है कि बेहतर उपयोगकर्ता अनुभव के लिए, इन फ़ॉर्मैट/चैनल कॉन्फ़िगरेशन के लिए सहायता उपलब्ध कराई जाए:
- डॉल्बी डिजिटल प्लस
- 5.1.2, 7.1, 7.1.2, 7.1.4 चैनल
स्टीरियो कॉन्टेंट का प्लेबैक
स्टीरियो कॉन्टेंट को, स्पेशल ऑडियो इफ़ेक्ट इंजन के ज़रिए रेंडर नहीं किया जाना चाहिए. भले ही, स्पेशल ऑडियो की सुविधा चालू हो. अगर किसी डिवाइस में स्टीरियो कॉन्टेंट को स्पेशल साउंड में बदलने की सुविधा है, तो उसमें एक कस्टम यूज़र इंटरफ़ेस (यूआई) होना चाहिए, ताकि उपयोगकर्ता इस सुविधा को आसानी से चालू या बंद कर सके. स्पेशल ऑडियो की सुविधा चालू होने पर, स्पेशल ऑडियो वाले मल्टीचैनल कॉन्टेंट और बिना स्पेशल ऑडियो वाले स्टीरियो कॉन्टेंट के प्लेबैक के बीच ट्रांज़िशन संभव होना चाहिए. इसके लिए, उपयोगकर्ता की सेटिंग में कोई बदलाव करने, हेडसेट को फिर से कनेक्ट करने या उसे फिर से कॉन्फ़िगर करने की ज़रूरत नहीं होनी चाहिए. स्पेशल ऑडियो वाले कॉन्टेंट और स्टीरियो कॉन्टेंट के बीच ट्रांज़िशन के दौरान, ऑडियो में कम से कम रुकावट आनी चाहिए.
अलग-अलग इस्तेमाल के बीच ट्रांज़िशन और कई कामों को एक साथ संभालना
इस्तेमाल के खास उदाहरणों को इस तरह से हैंडल करें:
- सूचनाओं को स्पेशल ऑडियो वाले कॉन्टेंट के साथ उसी तरह मिक्स किया जाना चाहिए जिस तरह उन्हें बिना स्पेशल ऑडियो वाले कॉन्टेंट के साथ मिक्स किया जाता है.
- रिंगटोन को स्पेशल ऑडियो वाले कॉन्टेंट के साथ मिक्स किया जा सकता है. हालांकि, डिफ़ॉल्ट रूप से, ऑडियो फ़ोकस करने का तरीका, रिंगटोन बजने पर स्पेशल ऑडियो वाले कॉन्टेंट को रोक देता है.
- फ़ोन कॉल या वीडियो कॉन्फ़्रेंस का जवाब देते समय या कॉल करते समय, स्पेशल ऑडियो का प्लेबैक रुक जाना चाहिए. कॉल खत्म होने पर, स्पेशल ऑडियो प्लेबैक की सुविधा पहले की सेटिंग के साथ फिर से चालू होनी चाहिए. स्पेशल ऑडियो मोड से बातचीत वाले मोड पर स्विच करने के लिए, ऑडियो पाथ को फिर से कॉन्फ़िगर करने की प्रोसेस तेज़ी से और बिना किसी रुकावट के होनी चाहिए, ताकि कॉल के अनुभव पर कोई असर न पड़े.
स्पीकर पर रेंडर करना
स्पीकर पर ऑडियो को स्पेशल साउंड में बदलने की सुविधा या ट्रांसऑरल मोड की ज़रूरत नहीं है.
हेड ट्रैकिंग की सुविधा लागू करने के लिए दिशा-निर्देश
इस सेक्शन में, डाइनैमिक स्पेशल ऑडियो पर फ़ोकस किया गया है. इसके लिए, हेडसेट से जुड़ी कुछ खास ज़रूरतें होती हैं.
यूज़र इंटरफ़ेस
स्पेशल ऑडियो की सुविधा के साथ काम करने वाले हेडसेट को लागू करने और पेयर करने के बाद, पुष्टि करें कि आपके यूज़र इंटरफ़ेस (यूआई) का व्यवहार ऐसा हो:
ब्लूटूथ डिवाइस की सेटिंग में, जब स्पेशल ऑडियो की सेटिंग हेडसेट के लिए चालू होती है, तब स्पेशल ऑडियो में हेड ट्रैकिंग की सेटिंग दिखती है:
दूसरी इमेज. स्पेशल ऑडियो और हेड-ट्रैकिंग की सेटिंग.
स्पेशल ऑडियो की सुविधा बंद होने पर, हेड-ट्रैकिंग की सेटिंग नहीं दिखती.
हेडसेट को पहली बार पेयर करने के बाद, हेड ट्रैकिंग की सुविधा डिफ़ॉल्ट रूप से चालू होती है.
उपयोगकर्ता ने इस सुविधा को चालू किया है या बंद किया है, यह जानकारी फ़ोन को रीबूट करने या हेडसेट को अनपेयर और पेयर करने के बाद भी बनी रहनी चाहिए.
फ़ंक्शनल व्यवहार
हेड पोज़ की जानकारी देना
- हेडसेट से Android डिवाइस को भेजी गई हेड पोज़ की जानकारी, x, y, और z कोऑर्डिनेट में होनी चाहिए. साथ ही, इसमें उपयोगकर्ता के सिर की हलचल की जानकारी तेज़ी से और सटीक तरीके से दिखनी चाहिए.
- ब्लूटूथ लिंक के ज़रिए हेड पोज़ की जानकारी देने के लिए, एचआईडी के लिए तय किए गए प्रोटोकॉल का पालन करना ज़रूरी है.
- हेडसेट को Android फ़ोन पर हेड-ट्रैकिंग की जानकारी सिर्फ़ तब भेजनी चाहिए, जब उपयोगकर्ता ब्लूटूथ डिवाइस की सेटिंग के यूज़र इंटरफ़ेस (यूआई) में हेड ट्रैकिंग की सुविधा चालू करता है.
परफ़ॉर्मेंस
इंतज़ार का समय
हेड-ट्रैकिंग लेटेन्सी का मतलब है, इनर्शियल मेज़रमेंट यूनिट (आईएमयू) से कैप्चर किए गए सिर की हलचल और हेडफ़ोन ट्रांसड्यूसर से इस हलचल की वजह से होने वाले साउंड में बदलाव का पता लगने के बीच लगने वाला समय. हेड-ट्रैकिंग लेटेन्सी 150 मि॰से॰ से ज़्यादा नहीं होनी चाहिए.
हेड पोज़ की जानकारी देने की दर
हेड ट्रैकिंग की सुविधा चालू होने पर, हेडसेट को औसतन हर 20 मि॰से॰ में हेड पोज़ की जानकारी देनी चाहिए. ब्लूटूथ के ट्रांसमिशन में गड़बड़ी होने पर, फ़ोन पर पुराने इनपुट ट्रिगर होने से रोकने के लिए, दो अपडेट के बीच का समय 40 मि॰से॰ से ज़्यादा नहीं होना चाहिए.
बैटरी ऑप्टिमाइज़ेशन
हमारा सुझाव है कि बैटरी की खपत को कम करने के लिए, ऑडियो एचएएल और Bluetooth ऑडियो एचएएल इंटरफ़ेस के ज़रिए उपलब्ध कराए गए Bluetooth कोडेक स्विच करने और लेटेंसी मोड चुनने के तरीकों का इस्तेमाल किया जाए.
ऑडियो फ़्रेमवर्क और ब्लूटूथ स्टैक के एओएसपी वर्शन में, कोडेक स्विच करने की सुविधा को कंट्रोल करने के लिए, सिग्नल पहले से मौजूद हैं. अगर ओईएम के डिवाइस में सेट किया गया सिस्टम, ब्लूटूथ ऑडियो के लिए प्राइमरी ऑडियो एचएएल का इस्तेमाल करता है, जिसे कोडेक ऑफ़लोड मोड कहा जाता है, तो ओईएम को यह पक्का करना होगा कि ऑडियो एचएएल, ऑडियो एचएएल और ब्लूटूथ स्टैक के बीच उन सिग्नल को रिले करे.
कोडेक स्विच करना
डाइनैमिक स्पेशल ऑडियो और हेड ट्रैकिंग की सुविधा चालू होने पर, कम लेटेंसी वाले कोडेक का इस्तेमाल करें, जैसे Opus. बिना स्पेशल ऑडियो वाला कॉन्टेंट चलाते समय, कम बैटरी खर्च करने वाले कोडेक का इस्तेमाल करें. जैसे, एडवांस्ड ऑडियो कोडिंग (एएसी).
कोडेक स्विच करते समय, इन नियमों का पालन करें:
- सिर्फ़ इन ऑडियो एचएएल आउटपुट स्ट्रीम पर होने वाली गतिविधि को ट्रैक करें:
- स्पेशलाइज़र का खास आउटपुट
- मीडिया से जुड़ी स्ट्रीम, जैसे कि डीप बफ़र या कंप्रेस किए गए ऑफ़लोड प्लेबैक
जब सभी काम की स्ट्रीम बंद हों और स्पैशलाइज़र स्ट्रीम शुरू हो जाए, तब ब्लूटूथ स्ट्रीम शुरू करें. इसके लिए,
isLowLatencyकोtrueपर सेट करें, ताकि कम समय में डेटा ट्रांसफ़र करने वाले कोडेक के बारे में बताया जा सके.जब सभी काम की स्ट्रीम बंद हों और मीडिया स्ट्रीम शुरू हो जाए, तब
isLowLatencyकोfalseपर सेट करके, ब्लूटूथ स्ट्रीम शुरू करें. इससे कम बैटरी खर्च करने वाले कोडेक के बारे में पता चलेगा.अगर मीडिया स्ट्रीम चालू है और स्पैशलाइज़र स्ट्रीम शुरू होती है, तो
isLowLatencyकोtrueपर सेट करके, ब्लूटूथ स्ट्रीम को फिर से शुरू करें.
हेडसेट के लिए, यह ज़रूरी है कि वह कम लेटेंसी और कम बैटरी खर्च करने वाले, दोनों तरह के डिकोडर के साथ काम करे. साथ ही, कोडेक चुनने के स्टैंडर्ड प्रोटोकॉल को लागू करे.
लेटेंसी मोड अडजस्टमेंट
लेटेंसी मोड अडजस्टमेंट तब होता है, जब कम लेटेंसी वाला कोडेक चुना जाता है.
हेड ट्रैकिंग की सुविधा चालू है या बंद है, इसके आधार पर लेटेन्सी मोड अडजस्टमेंट, लेटेन्सी को कम या ज़्यादा करने के लिए उपलब्ध तरीकों का इस्तेमाल करता है. इससे लेटेन्सी, पावर, और ऑडियो क्वालिटी के बीच सबसे अच्छा तालमेल किया जा सकता है. स्पेशल ऑडियो और हेड ट्रैकिंग की सुविधा चालू होने पर, कम लेटेंसी वाला मोड चुना जाता है. स्पेशल ऑडियो की सुविधा चालू होने और हेड ट्रैकिंग की सुविधा बंद होने पर, फ़्री-लेटेंसी मोड चुना जाता है. लेटेंसी को अडजस्ट करने की सुविधा से, बैटरी की काफ़ी बचत होती है. साथ ही, सिर्फ़ स्टैटिक स्पेशल ऑडियो का अनुरोध किए जाने पर, ब्लूटूथ ऑडियो लिंक की मज़बूती बढ़ती है. इंतज़ार का समय कम करने के लिए, ब्लूटूथ हेडसेट में जिटर बफ़र के साइज़ को कम या बढ़ाया जाता है.
LE Audio के लिए, हेड ट्रैकिंग की सुविधा के साथ काम करने वाले हेडफ़ोन में लेटेन्सी मोड को अडजस्ट करने के बारे में जानने के लिए, LE Audio के साथ हेड ट्रैकिंग की सुविधा लेख पढ़ें.