ब्लूटूथ स्मार्ट ऑडियो

ब्लूटूथ लो एनर्जी ऑडियो (एलईए) की मदद से, उपयोगकर्ता बैटरी लाइफ़ को कम किए बिना, हाई फ़िडेलिटी ऑडियो का आनंद ले सकते हैं. साथ ही, वे अलग-अलग इस्तेमाल के उदाहरणों के बीच आसानी से स्विच कर सकते हैं. Android 13 (एपीआई लेवल 33) में, LEA के लिए पहले से मौजूद सहायता शामिल है.

जब तक LEA सोर्स डिवाइस की बाज़ार में हिस्सेदारी नहीं बढ़ती, तब तक ज़्यादातर LEA हेडसेट ड्यूअल मोड में काम करेंगे. उपयोगकर्ता, अपने ड्यूअल मोड हेडसेट पर दोनों ट्रांसपोर्ट को जोड़ और सेट अप कर सकें.

इस्तेमाल के उदाहरण

इन मामलों में, एलईए को इंटिग्रेट किया जा सकता है:

  • ऑडियो शेयर करना: उपयोगकर्ता एक साथ कई ऑडियो स्ट्रीम को एक या उससे ज़्यादा ऑडियो सिंक डिवाइसों पर शेयर कर सकते हैं. सोर्स डिवाइस और कनेक्ट किए गए डिवाइसों के बीच ऑडियो सिंक किया जाता है.

  • ब्रॉडकास्ट ऑडियो: उपयोगकर्ता अपने दोस्तों और परिवार के सदस्यों को ऑडियो ब्रॉडकास्ट कर सकते हैं. साथ ही, जानकारी, मनोरंजन या सुलभता के लिए सार्वजनिक ब्रॉडकास्ट से भी जुड़ सकते हैं.

  • LC3 ऑडियो कोडेक की सुविधा: यह डिफ़ॉल्ट ऑडियो कोडेक है. यह A2DP (मीडिया) के लिए इस्तेमाल किए जाने वाले SBC कोडेक और एचएफ़पी (वॉइस) में mSBC की जगह लेता है. LC3 ज़्यादा असरदार है, इसे फिर से कॉन्फ़िगर किया जा सकता है, और यह बेहतर क्वालिटी देता है.

  • ऑडियो सैंपलिंग में सुधार: माइक्रोफ़ोन का इस्तेमाल करते समय, हेडसेट अच्छी क्वालिटी का ऑडियो आउटपुट दे सकते हैं. ब्लूटूथ क्लासिक, ब्लूटूथ वाले माइक्रोफ़ोन का इस्तेमाल करने पर ऑडियो की क्वालिटी कम कर देता है. बीएलई ऑडियो की मदद से, इनपुट और आउटपुट सैंपलिंग 32 किलोहर्ट्ज़ तक पहुंच सकती है.

  • स्टीरियो माइक्रोफ़ोन: कान में पहने जाने वाले डिवाइस, स्टीरियो माइक्रोफ़ोन की मदद से ऑडियो रिकॉर्ड कर सकते हैं. इससे स्पेशल ऑडियो की क्वालिटी बेहतर होती है.

  • Hearing Aid Profile (HAP) की सुविधा: HAP, उपयोगकर्ताओं को पहले के ASHA प्रोटोकॉल की तुलना में ज़्यादा सुलभता और इस्तेमाल करने की सुविधा देता है. उपयोगकर्ता, फ़ोन कॉल और वीओआईपी ऐप्लिकेशन के लिए, कान की मशीनों का इस्तेमाल कर सकते हैं.

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

मुख्य स्थितियां

इस्तेमाल के उदाहरणों की चार मुख्य कैटगरी हैं:

  1. बातचीत: डायलर और वीओआईपी ऐप्लिकेशन, जिनमें कम इंतज़ार के समय वाले कम्यूनिकेशन रूटिंग की ज़रूरत होती है. ये ऐप्लिकेशन, अच्छी क्वालिटी का ऑडियो देते हैं और कम बैटरी खर्च करते हैं.

  2. गेमिंग: एक साथ माइक्रोफ़ोन और हाई-फ़िडेलिटी प्लेबैक की सुविधा से, गेम सुनने वाले डिवाइसों पर अच्छी क्वालिटी का ऑडियो स्ट्रीम कर सकते हैं. कोई गेमिंग ऐप्लिकेशन, बीएलई ऑडियो इनपुट को तब ऐक्सेस कर सकता है, जब कोई गेम ब्लूटूथ माइक्रोफ़ोन को इस्तेमाल के लिए तैयार कर देता है. इसके बाद, जब कोई खिलाड़ी किसी दूसरे खिलाड़ी के साथ लाइव बातचीत शुरू करता है, तो गेम ऐप्लिकेशन बिना किसी देरी के माइक्रोफ़ोन के डेटा का इस्तेमाल कर सकता है.

  3. मीडिया: मीडिया ऐप्लिकेशन, ऑडियो मैनेजर के लिए पसंदीदा डिवाइस सेट कर सकते हैं. उपयोगकर्ता, सिस्टम की सेटिंग में जाकर अपने पसंदीदा डिवाइस को बदलकर, इसे बदल सकता है.

  4. सुलभता: बीएलई ऑडियो के साथ काम करने वाली कान की मशीनें, माइक्रोफ़ोन का इस्तेमाल कर सकती हैं. इससे उपयोगकर्ता, कॉल के दौरान लगातार अपनी कान की मशीनों का इस्तेमाल कर सकते हैं.

BLE ऑडियो एपीआई और तरीके

BLE ऑडियो वाले डिवाइसों के साथ काम करने के लिए, ये एपीआई और तरीके ज़रूरी हैं:

AudioManager

  • setCommunicationDevice() यह उस ऑडियो डिवाइस को चुनता है जिसका इस्तेमाल बातचीत के लिए किया जाना चाहिए. उदाहरण के लिए, वॉइस या वीडियो कॉल. इस तरीके का इस्तेमाल, वॉइस या वीडियो चैट ऐप्लिकेशन कर सकते हैं. इससे वे प्लैटफ़ॉर्म पर डिफ़ॉल्ट रूप से चुने गए ऑडियो डिवाइस के बजाय, कोई दूसरा ऑडियो डिवाइस चुन सकते हैं. यह एपीआई, अब काम न करने वाले इन एपीआई की जगह लेगा: startBluetoothSco(), stopBluetoothSco(), और setSpeakerphoneOn().
  • clearCommunicationDevice() को तब कॉल किया जाता है, जब आपका ऐप्लिकेशन कोई कॉल या सेशन खत्म कर देता है. इससे यह पक्का करने में मदद मिलती है कि उपयोगकर्ता को अलग-अलग ऐप्लिकेशन के बीच स्विच करते समय बेहतरीन अनुभव मिले.

BluetoothProfile

  • BluetoothLeAudio, प्रॉक्सी ऑब्जेक्ट का इस्तेमाल करके ब्लूटूथ सेवा को कंट्रोल करता है.

Telecom InCallService

  • InCallService.requestCallEndpointChange(), अब काम न करने वाले InCallService.setAudioRoute() और InCallService.requestBluetoothAudio() एपीआई की जगह लेगा. साथ ही, ऐप्लिकेशन को किसी खास CallEndpoint पर ऑडियो रूट करने का अनुरोध करने की अनुमति देगा. बदलाव का अनुरोध करते समय, क्लाइंट को अपना CallEndpoint तय नहीं करना चाहिए. इसके बजाय, नया एंडपॉइंट, InCallService.onAvailableCallEndpointsChanged(java.util.List) के मान्य एंडपॉइंट में से एक होना चाहिए.
  • CallEndpoint.TYPE_BLUETOOTH, ब्लूटूथ की मदद से ऑडियो स्ट्रीम को डायरेक्ट करता है.
  • इन InCallService एपीआई को फ़ोन पर डिफ़ॉल्ट फ़ोन ऐप्लिकेशन या कॉल करने के लिए इस्तेमाल होने वाले अन्य प्लैटफ़ॉर्म पर इस्तेमाल करने के लिए डिज़ाइन किया गया है. जैसे, पहने जाने वाले डिवाइस, ऑटोमोबाइल या अन्य ब्लूटूथ डिवाइस, जो ऑडियो रूटिंग पर असर डाल सकते हैं.

Telecom CallControl

  • CallControl क्लास को Android 14 (एपीआई लेवल 34) में लॉन्च किया गया है. यह सिर्फ़ वीओआईपी ऐप्लिकेशन के लिए, Connection और ConnectionService की जगह लेती है.
  • CallControl.requestCallEndpointChange() ने CallEndpoint में बदलाव करने का अनुरोध भी किया है. यह एपीआई, अब काम न करने वाले Connection.requestBluetoothAudio() और Connection.setAudioRoute() एपीआई की जगह लेगा.
  • वॉइस या वीडियो कॉलिंग ऐप्लिकेशन बनाते समय, अपडेट किए गए Telecom प्लैटफ़ॉर्म एपीआई के अलावा, Telecom Jetpack लाइब्रेरी का इस्तेमाल करने का सुझाव दिया जाता है. इस लाइब्रेरी की मदद से, इंटिग्रेशन की प्रोसेस को काफ़ी आसान बनाया जा सकता है. साथ ही, सभी Android प्लैटफ़ॉर्म पर वीओआईपी कॉलिंग को बेहतर बनाया जा सकता है.

ऑडियो डिवाइस की जानकारी

  • AudioDeviceInfo.TYPE_BLE_HEADSET ऑडियो डिवाइस के टाइप को LEA डिवाइस के तौर पर दिखाता है. इसका इस्तेमाल यह पता लगाने के लिए किया जाता है कि कान में लगाया जाने वाला डिवाइस, एलईए डिवाइस है या नहीं.

ऑडियो रिकॉर्डर

  • setPreferredDevice() ऑडियो रूटिंग के लिए, पसंदीदा डिवाइस सेट करता है. उपयोगकर्ता, सिस्टम की सेटिंग में जाकर इसे बदल सकता है.

ब्लूटूथ अडैप्टर

  • isLeAudioSupported(): यह @BluetoothStatusCodes कॉन्स्टेंट (FEATURE_SUPPORTED, FEATURE_NOT_SUPPORTED या गड़बड़ी का कोड) दिखाता है. इससे पता चलता है कि डिवाइस का हार्डवेयर, LE Audio के साथ काम करता है या नहीं.
  • isLeAudioBroadcastSourceSupported(): यह @BluetoothStatusCodes कॉन्सटैंट (FEATURE_SUPPORTED, FEATURE_NOT_SUPPORTED या गड़बड़ी का कोड) दिखाता है. इससे पता चलता है कि डिवाइस का हार्डवेयर, LE Audio ब्रॉडकास्ट सोर्स के साथ काम करता है या नहीं.

इस्तेमाल के उदाहरण के आधार पर गाइड

इस्तेमाल के खास उदाहरणों के आधार पर, एलईए को लागू करने के लिए यहां दिशा-निर्देश दिए गए हैं.

वॉइस कम्यूनिकेशन ऐप्लिकेशन

वॉइस कम्यूनिकेशन ऐप्लिकेशन के पास, ऑडियो रूटिंग और डिवाइस की स्थिति को मैनेज करने का विकल्प होता है. इसके लिए, वे अपनी स्थिति को खुद मैनेज कर सकते हैं या Telecom API का इस्तेमाल कर सकते हैं. यह एपीआई, आपके लिए ऑडियो रूटिंग और स्थिति के लॉजिक को मैनेज करता है.

इन दोनों समाधानों की मदद से, ऑडियो रूटिंग को कंट्रोल किया जा सकता है और ब्लूटूथ डिवाइसों के बीच स्विच किया जा सकता है. ज़्यादा जानकारी के लिए, टेलीकॉम कंपनी की मैनेज की जाने वाली कॉल की गाइड देखें.

ऑडियो रिकॉर्ड करने की सुविधा देने वाले ऐप्लिकेशन

  • मीडिया रिकॉर्डर: मीडिया रिकॉर्डर का इस्तेमाल करके ऑडियो रिकॉर्ड करते समय, स्टीरियो में रिकॉर्ड किया जा सकता है. हालांकि, इसके लिए ज़रूरी है कि ब्लूटूथ से कनेक्ट किया गया ऑडियो डिवाइस, LEA के साथ काम करता हो. ज़्यादा जानकारी के लिए, ऑडियो रिकॉर्डिंग गाइड देखें.

हेडसेट के लिए सुझाव

जैसे-जैसे ज़्यादा एलईए हेडसेट रिलीज़ हो रहे हैं, हमें असल दुनिया में टेस्टिंग के दौरान ऐसी समस्याओं का पता चला है जिनसे उपयोगकर्ता अनुभव खराब होता है. इस स्पेसिफ़िकेशन में, इन सभी समस्याओं को शामिल नहीं किया गया है. यहां दी गई टेबल में, एलईए हेडसेट बनाने वाली कंपनियों के लिए कुछ सुझाव दिए गए हैं. Android उपयोगकर्ताओं को बेहतर अनुभव देने के लिए, इन कंपनियों को ये सुझाव अपनाने चाहिए.

ब्यौरा कॉन्टेक्स्ट
ड्यूअल-मोड हेडसेट के लिए, क्रॉस ट्रांसपोर्ट की डेरिवेशन (सीटीकेडी) की सुविधा:
  • क्लासिक-टू-एलई पेयरिंग और एलई-टू-क्लासिक पेयरिंग, दोनों के लिए कुंजी जनरेट करने की सुविधा.
LEA सोर्स डिवाइस की मार्केट में हिस्सेदारी बढ़ने तक, ज़्यादातर नए LEA हेडसेट ड्यूअल-मोड वाले होंगे. यह ज़रूरी है कि उपयोगकर्ता अपने ड्यूअल-मोड हेडसेट को आसानी से जोड़ सकें और दोनों ट्रांसपोर्ट सेट अप कर सकें. यह Google फ़ास्ट पेयर के लिए भी ज़रूरी है.

अगर आपको अपने LEA हेडसेट को सोर्स डिवाइसों से फिर से कनेक्ट करना है, तो टारगेटेड अनाउंसमेंट (टीए) की सुविधा चालू करें.

LE Audio ईयरबड को सेंट्रल डिवाइसों से इनकमिंग कनेक्शन का अनुरोध करने के लिए, टीए का इस्तेमाल करना चाहिए.

इसे आने वाले समय में, बीटी एसआईजी में जोड़ा जाएगा.

BR/EDR के पेजिंग मॉडल में, फ़ोन या हेडसेट से कनेक्शन शुरू किया जा सकता है. हालांकि, LEA में कनेक्शन को मुख्य डिवाइस से शुरू करना ज़रूरी है. कई हेडसेट, टीए का इस्तेमाल नहीं करते. इसका मतलब है कि सेंट्रल डिवाइस, अनुमति वाली सूची में जोड़े बिना, सहायक डिवाइस से फिर से कनेक्ट नहीं हो सकता. हालांकि, अनुमति वाली सूची में शामिल करने से, हो सकता है कि हेडसेट किसी दूसरे सेंट्रल डिवाइस से कनेक्ट न हो पाए. इसलिए, यह ज़रूरी है कि एलईए हेडसेट, टीए के साथ सही तरीके से काम करें. इससे सेंट्रल डिवाइस, बिना किसी समस्या के फिर से कनेक्ट हो सकता है. साथ ही, मल्टी-पॉइंट कनेक्शन को तोड़ने वाले तरीकों से बचा जा सकता है.
ड्यूअल मोड वाले ईयरबड को खोजने की सुविधा को ऑप्टिमाइज़ किया गया
  • प्राइमरी ईयरबड - बीआर/ईडीआर कॉम्पोनेंट को अपने सार्वजनिक पते का इस्तेमाल करके विज्ञापन दिखाना चाहिए. साथ ही, ईआईआर के ज़रिए उपलब्ध अपने नाम के साथ, पूछताछ और पेज स्कैन की सुविधा चालू करनी चाहिए. इसके अलावा, क्लास ऑफ़ डिवाइस (सीओडी) की मुख्य सर्विस क्लास में, LE Audio बिट 14 को 1 पर सेट करना चाहिए.
  • प्राइमरी ईयरबड - LE कॉम्पोनेंट: प्राइमरी ईयरबड को कनेक्ट किए जा सकने वाले और खोजे जाने लायक (सीमित या सामान्य) विज्ञापन दिखाने चाहिए. इसके लिए, उसे BR/EDR कॉम्पोनेंट के जैसे ही सार्वजनिक पते और BR/EDR कॉम्पोनेंट के जैसे ही पूरे स्थानीय नाम का इस्तेमाल करना चाहिए. साथ ही, उसकी अपियरेंस कैटगरी को ऐसी अपियरेंस कैटगरी के तौर पर सेट करना चाहिए जो रिमोट डिवाइस के टाइप से मैच करती हो. इससे सेंट्रल डिवाइस को इस जानकारी का इस्तेमाल करके, अपने यूज़र इंटरफ़ेस (यूआई) और ऑडियो रूटिंग की नीतियों में बदलाव करने में मदद मिलेगी.
  • सेकंडरी ईयरबड - सिर्फ़ LE: सेकंडरी ईयरबड को कनेक्ट किए जा सकने वाले, लेकिन खोजे न जा सकने वाले विज्ञापन को दिखाना चाहिए. साथ ही, इसकी अपीयरेंस कैटगरी को रिमोट डिवाइस के टाइप से मैच होने वाली सही अपीयरेंस कैटगरी के तौर पर सेट करना चाहिए. इससे यह उम्मीद की जाती है कि सेंट्रल डिवाइस इस जानकारी का इस्तेमाल करके, अपने यूज़र इंटरफ़ेस (यूआई) और ऑडियो रूटिंग की नीतियों में बदलाव करेगा

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

इससे, ड्यूअल-मोड वाले एलईए ईयरबड, ब्लूटूथ सेटिंग में डुप्लीकेट एंट्री के तौर पर नहीं दिखते. इससे उपयोगकर्ताओं को भ्रम हो सकता है और एलईए ईयरबड को जोड़ने के अनुभव पर असर पड़ सकता है.

डाइनैमिक लीडर इलेक्शन, खास तौर पर ड्यूअल-मोड वाले उन डिवाइसों के लिए ज़रूरी है जिन्हें धीरे-धीरे जोड़ा जाता है. उदाहरण के लिए, अगर शुरुआती पेयरिंग के समय सिर्फ़ एक ईयरबड उपलब्ध है, तो उसे ड्यूअल-मोड डिवाइस के तौर पर दिखना चाहिए. जब कोई उपयोगकर्ता बाद में दूसरे ईयरबड को जोड़ता है, तो उसे सिर्फ़ LE कॉम्पोनेंट के साथ जोड़ना होता है. इसके बाद, सीएसआईपी यह पक्का करेगा कि वे Android पर एक साथ ग्रुप किए गए हों.

पेयरिंग के दौरान, आइडेंटिटी अड्रेस का इस्तेमाल करने का सुझाव दिया जाता है. इसकी वजह यह है कि बीआर/ईडीआर कॉम्पोनेंट, आस-पास मौजूद डिवाइसों को पहले से ही डिवाइस का सार्वजनिक पता दिखाता है.

एन्हैंस्ड एट्रिब्यूट प्रोटोकॉल (ईएटीटी) के साथ काम करता हो. इससे डिवाइसों को जोड़ने और कनेक्ट करने में लगने वाला समय कम होता है.
मज़बूत GATT कैश मेमोरी का इस्तेमाल करें. कनेक्शन के इंतज़ार का समय कम करता है. खास तौर पर, टीडब्ल्यूएस बड्स के लिए.
कनेक्शन सबरेटिंग की सुविधा. इससे पैकेट शेड्यूलिंग को ज़्यादा सुविधाजनक बनाया जा सकता है. साथ ही, बैटरी की बचत की जा सकती है.
यह पक्का करना कि वीडियो चलाने और कैप्चर करने के लिए, प्री-प्रोसेसिंग और पोस्ट-प्रोसेसिंग के दौरान, सिग्नल प्रोसेसिंग पाइपलाइन 16, 24, 32, और 48 किलोहर्ट्ज़ के साथ-साथ ज़्यादा फ़्रीक्वेंसी पर भी काम कर सके. यह एलईए कॉल या वीओआईपी कैप्चर पाथ और मीडिया प्लेबैक के लिए, ज़्यादा सैंपलिंग रेट का फ़ायदा लेता है.
एलई पावर कंट्रोल की सुविधा बेहतर पावर मैनेजमेंट

कॉन्टेक्स्ट टाइप के लिए सहायता

ब्यौरा कॉन्टेक्स्ट
असाइन किए गए नंबर 6.12.3 में बताए गए सभी कॉन्टेक्स्ट टाइप का इस्तेमाल करें. हालांकि, अगर हेडसेट किसी कॉन्टेक्स्ट टाइप के साथ काम नहीं करता है, तो उसका इस्तेमाल न करें. उदाहरण के लिए, अगर "गेम" कॉन्टेक्स्ट टाइप काम नहीं करता है, तो Android गेम की आवाज़ें भेजेगा. खास तौर पर, ध्यान दें कि "तय नहीं" कॉन्टेक्स्ट टाइप का मतलब "कोई भी कॉन्टेक्स्ट टाइप" नहीं है. साथ ही, इसमें ऐसे कॉन्टेक्स्ट टाइप शामिल नहीं होते जो काम नहीं करते.

जब सेंट्रल डिवाइस, पेरिफ़रल डिवाइस के एएससीएस के साथ इंटरैक्ट करता है, तो पेरिफ़रल डिवाइस को सेंट्रल डिवाइस के एमसीएस और टीबीएस से कनेक्ट करना ज़रूरी है.

ऐसा हो सकता है कि सेंट्रल डिवाइस, स्ट्रीमिंग के लिए हमेशा LE Audio का इस्तेमाल न करे. ऐसा इसलिए, क्योंकि यह A2DP या एचएफ़पी का इस्तेमाल करने पर वापस जा सकता है. पेरिफ़ेरल डिवाइस, एएससीएस इंटरैक्शन का इस्तेमाल करके यह पता लगा सकता है कि सेंट्रल डिवाइस, स्ट्रीमिंग के लिए LE Audio का इस्तेमाल करेगा या नहीं.

एएससीएस इंटरैक्शन के कुछ उदाहरणों में, सूचना के लिए पढ़ना, लिखना, और रजिस्टर करना शामिल है.

Auracast ट्रांसमीटर के लिए सुझाव

इस सेक्शन में, Auracast ट्रांसमीटर को कॉन्फ़िगर करने के सुझाव दिए गए हैं.

रुक-रुककर होने वाले ब्रॉडकास्ट

बस, मेट्रो वगैरह के टर्मिनल जैसी सार्वजनिक जगहों पर ऑडियो सूचनाएं अक्सर रुक-रुककर दी जाती हैं. साथ ही, इनके बीच में काफ़ी समय तक कोई आवाज़ नहीं होती. सूचनाओं के बीच लगातार साइलेंस या बैकग्राउंड ऑडियो स्ट्रीम करने से, रिसीवर की बैटरी खर्च होती है. साथ ही, इससे उपयोगकर्ता अपनी मुख्य ऑडियो स्ट्रीम नहीं सुन पाते. जैसे, लोकल मीडिया या कोई अन्य ऐक्टिव Auracast स्ट्रीम.

उपयोगकर्ता अनुभव को बेहतर बनाने के लिए, Android का सुझाव है कि Auracast ट्रांसमीटर, रुक-रुककर होने वाले ब्रॉडकास्ट को मैनेज करने के लिए, इन दिशा-निर्देशों का पालन करें.

परिभाषाएं

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

रुक-रुककर होने वाले ब्रॉडकास्ट की पहचान करना

किसी ब्रॉडकास्ट को इंटरमिटेंट ब्रॉडकास्ट के तौर पर सेट करने के लिए, ब्रॉडकास्टर को Audio_Active_State मेटाडेटा एलटीवी (Length-Type-Value) स्ट्रक्चर [1] को दो जगहों पर शामिल करना चाहिए:

  1. BASE स्ट्रक्चर लेवल 2 मेटाडेटा (समय-समय पर दिखाए जाने वाले विज्ञापन) [2]
  2. The Public Broadcast Announcement Metadata (Extended Advertisements) [3]

रिसीवर को रुक-रुककर होने वाले ब्रॉडकास्ट की पहचान करने और यह तय करने में मदद करने के लिए कि स्ट्रीम को चलाना है या नहीं, ब्रॉडकास्टर को Streaming_Audio_Context मेटाडेटा एलटीवी स्ट्रक्चर [1] को भी सटीक तरीके से सेट करना चाहिए.

दिलचस्पी के मुताबिक ऑडियो की पहचान करना

किसी भी समय, रुक-रुककर होने वाले ब्रॉडकास्ट में ऑडियो-ऑफ़-इंटरेस्ट शामिल है या नहीं, यह डाइनैमिक तौर पर बताने के लिए, ट्रांसमीटर Audio_Active_State मेटाडेटा एलटीवी स्ट्रक्चर का इस्तेमाल करता है.

  • BASE स्ट्रक्चर लेवल 2 मेटाडेटा: 0x01 वैल्यू से पता चलता है कि सबग्रुप में मौजूद बीआईएस में, ऑडियो-ऑफ़-इंटरेस्ट शामिल है.
  • पब्लिक ब्रॉडकास्ट अनाउंसमेंट मेटाडेटा: 0x01 वैल्यू से पता चलता है कि बीआईजी में मौजूद कम से कम एक बीआईएस में, ऑडियो-ऑफ़-इंटरेस्ट शामिल है.

Audio_Active_State मेटाडेटा की एलटीवी वैल्यू, ऑडियो-ऑफ़-इंटरेस्ट को ट्रांसमिट करने से कुछ समय पहले 0x01 पर सेट होनी चाहिए. इससे स्कैनिंग डिवाइस को पब्लिक ब्रॉडकास्ट सोर्स के साथ सिंक करने की अनुमति मिलती है. इसके उलट, ट्रांसमिशन खत्म होने के कुछ समय बाद, इसे 0x00 पर सेट किया जाना चाहिए.

ऑडियो स्ट्रीमिंग के कॉन्टेक्स्ट का फ़ायदा उठाना

साफ़ तौर पर जानकारी देने से, Android फ़्रेमवर्क और रिसीव करने वाले डिवाइसों को, आने वाली स्ट्रीम को प्राथमिकता देने में मदद मिलती है. उदाहरण के लिए, कोई पब्लिक एड्रेस (पीए) सिस्टम, Streaming_Audio_Context टाइप को Instructional पर सेट कर सकता है. इससे, रिसीवर के लोकल मीडिया प्लेबैक को रोककर, घोषणाएं साफ़ तौर पर सुनाई जा सकती हैं. साथ ही, घोषणाएं खत्म होने के बाद, मीडिया प्लेबैक को आसानी से फिर से शुरू किया जा सकता है.

संदर्भ

[1] ब्लूटूथ असाइन किए गए नंबर, https://www.bluetooth.com/specifications/assigned-numbers/
[2] बेसिक ऑडियो प्रोफ़ाइल, https://www.bluetooth.com/specifications/specs/basic-audio-profile-1-0-3/
[3] पब्लिक ब्रॉडकास्ट प्रोफ़ाइल, https://www.bluetooth.com/specifications/specs/public-broadcast-profile-1-0-2/