ब्लूटूथ LE के ज़रिए, कान की मशीन के साथ काम करने की सुविधा

कान की मशीन (एचए) पर सुलभता सुविधाएं बेहतर हो सकती हैं कनेक्शन-ओरिएंटेड L2CAP का इस्तेमाल करके, Android पर चलने वाले मोबाइल डिवाइस ब्लूटूथ कम ऊर्जा (BLE) पर चैनल (CoC). CoC, इलास्टिक का इस्तेमाल करता है ऑडियो का एक जैसा फ़्लो बनाए रखने के लिए, कई ऑडियो पैकेट का बफ़र करना ज़रूरी है, भले ही कोई नुकसान नहीं होगा. यह बफ़र, कान की मशीन के लिए, इंतज़ार के समय को भी कम किया जा सकता है.

CoC के डिज़ाइन में ब्लूटूथ मुख्य स्पेसिफ़िकेशन वर्शन 5 (बीटी). मुख्य विनिर्देशों के साथ अलाइन रहने के लिए, सभी मल्टी-बाइट इस पेज पर दी गई वैल्यू, लिटिल-एंडियन के तौर पर पढ़ी जाएंगी.

शब्दावली

  • Central - ऐसा Android डिवाइस जो ब्लूटूथ पर विज्ञापन दिखाना.
  • पेरिफ़ेरल - कान की मशीन जो भेजता है ब्लूटूथ पर विज्ञापन पैकेट होते हैं.

नेटवर्क टोपोलॉजी और सिस्टम आर्किटेक्चर

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


पहली इमेज. कान की मशीनों को इनसे जोड़ने के लिए टोपोलॉजी ऐसे Android मोबाइल डिवाइस जिनमें BLE के बजाय CoC का इस्तेमाल किया जा रहा है

जब सेंट्रल, सहायक डिवाइस के साथ ऑडियो डेटा को स्ट्रीम नहीं कर रहा हो और BLE कनेक्शन बनाए रखने के लिए, सेंट्रल को सहायक डिवाइस (जैसे, कीबोर्ड, माउस, मॉनिटर, वेबकैम वगैरह). कनेक्शन बनाए रखने पर, डेटा कम्यूनिकेशन के लिए GATT सर्वर से कनेक्ट किया जाता है.

कान की मशीनों को जोड़ते और कनेक्ट करते समय, सेंट्रल ये काम करेगा:

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

ऊपर दिए गए मामलों में, दूसरे डिवाइस से जोड़ना का मतलब है, किसी दिए गए यूयूआईडी के साथ कान की मशीनों के सेट को रजिस्टर करना और ओएस में बाएं/दाएं डिज़ाइनर हैं, न कि ब्लूटूथ की मदद से दूसरे डिवाइस से जोड़ने की प्रोसेस में.

सिस्टम की ज़रूरतें

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

  • नियमों के मुताबिक BT 4.2 या उसके बाद के वर्शन को लागू करें. LE सुरक्षित कनेक्शन है हमारा सुझाव है.
  • सेंट्रल सपोर्ट के साथ-साथ कम से कम दो LE लिंक हों. साथ ही, ये पैरामीटर इस तरह से हों ऑडियो पैकेट में बताया गया है फ़ॉर्मैट और समय के हिसाब से फ़िल्टर करें.
  • सहायक डिवाइस (जैसे, कीबोर्ड, माउस, मॉनिटर, वेबकैम वगैरह) में पैरामीटर वाला कम से कम एक LE लिंक हो ऑडियो पैकेट में बताया गया है फ़ॉर्मैट और समय के हिसाब से फ़िल्टर करें.
  • एलई क्रेडिट पर आधारित फ़्लो कंट्रोल [BT Vol 3, पार्ट A, सेक्शन 10.1] होना चाहिए. डिवाइसों के लिए, कम से कम 167 बाइट साइज़ के MTU और MPS साइज़ की सुविधा होनी चाहिए CoC और आठ पैकेट तक बफ़र किए जा सकते हैं.
  • इनमें LE डेटा की लंबाई का एक्सटेंशन [BT Vol 6, पार्ट B, सेक्शन 5.1.9] होना चाहिए कम से कम 167 बाइट का पेलोड.
  • उसके बीच वाला डिवाइस, HCI LE कनेक्शन अपडेट कमांड के साथ काम करता हो और गैर-शून्य maximum_CE_Length का अनुपालन करते हैं और minimum_CE_Length पैरामीटर.
  • LE CoC के दो कनेक्शन के लिए डेटा इकट्ठा करने की क्षमता एक ही जगह से मैनेज की जा सकती है कनेक्शन इंटरवल और पेलोड वाले अलग-अलग सहायक डिवाइस ऑडियो पैकेट में साइज़ फ़ॉर्मैट और समय के हिसाब से फ़िल्टर करें.
  • सहायक डिवाइस ने MaxRxOctets को सेट किया हो और LL_LENGTH_REQ में MaxRxTime पैरामीटर या सबसे छोटी ज़रूरी वैल्यू के लिए, LL_LENGTH_RSP फ़्रेम जो इन विनिर्देशों के लिए ज़रूरी हैं. इससे मुख्य समाचार संगठन समय का हिसाब लगाते समय, इसका टाइम शेड्यूलर ऑप्टिमाइज़ करें फ़्रेम पाने के लिए ज़रूरी है.

यह सुझाव दिया जाता है कि केंद्रीय और सहायक डिवाइस 2MB PHY के रूप में BT 5.0 स्पेसिफ़िकेशन में बताया गया है. बीच में, इनके ऑडियो लिंक काम करेंगे 1M और 2M PHY दोनों पर कम से कम 64 kbit/s. BLE लंबी श्रेणी PHY का इस्तेमाल नहीं किया जाएगा.

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

ASHA GATT सेवाएं

सहायक डिवाइस, कान की मशीन के लिए ऑडियो स्ट्रीमिंग की सुविधा लागू करेगा (ASHA) GATT सर्वर सेवा के बारे में यहां बताया गया है. सहायक डिवाइस यह काम करेगा सामान्य खोज मोड में होने पर इस सेवा का प्रचार करेंगे, ताकि सेंट्रल ऑडियो सिंक की पहचान करता है. LE Audio स्ट्रीमिंग से जुड़ी कोई भी कार्रवाई एन्क्रिप्शन की आवश्यकता होगी. BLE ऑडियो स्ट्रीमिंग में ये चीज़ें शामिल होती हैं ये विशेषताएं:

खासियत प्रॉपर्टी ब्यौरा
ReadOnlyप्रॉपर्टी पढ़े गए मैसेज ReadOnlyProperties देखें.
ऑडियोकंट्रोलपॉइंट बिना जवाब के लिखें और लिखें ऑडियो स्ट्रीम के लिए कंट्रोल पॉइंट. यहां जाएं: AudioControlPoint.
ऑडियोस्टेटसपॉइंट पढ़ें/सूचना दें ऑडियो कंट्रोल पॉइंट के लिए स्टेटस रिपोर्ट का फ़ील्ड. यहां जाएं: AudioStatusPoint.
वॉल्यूम जवाब के बिना लिखें -128 और 0 के बीच का बाइट यह बताता है कि टेनयूशन की मात्रा को किस पर लागू करना है स्ट्रीम किया गया ऑडियो सिग्नल, -48 dB से 0 dB तक. सेटिंग -128 को पूरी तरह म्यूट माना जाएगा, यानी कि सबसे कम म्यूटेड वॉल्यूम लेवल -127 है, जो -47.625 dB अटेन्युएशन के बराबर है. सेटिंग 0 पर, रेल-टू-रेल साइन टोन स्ट्रीम की जाने वाली टोन 100 dBSPL इनपुट होगी उतनी ही रकम खर्च होती है. सेंट्रल कम से कम स्कोर में स्ट्रीम करेगा और इस वैरिएबल का इस्तेमाल करके, फ़ुल स्केल में अपने हिसाब से प्रज़ेंटेशन का लेवल सेट करें. सहायक था.
LE_PSM_OUT पढ़े गए मैसेज पीएसएम का इस्तेमाल ऑडियो चैनल को कनेक्ट करने में किया जाता है. यहां से चुना जा सकता है: डाइनैमिक रेंज [BT वॉल्यूम 3, पार्ट A, सेक्शन 4.22]

सेवा और विशेषताओं को असाइन किए गए यूयूआईडी:

सेवा UUID: {0xFDF0}

खासियत यूयूआईडी
ReadOnlyप्रॉपर्टी {6333651e-c481-4a3e-9169-7c902aad37bb}
ऑडियोकंट्रोलपॉइंट {f0d4de7e-4a88-476c-9d9f-1937b0996cc0}
ऑडियो का स्टेटस {38663f1a-e711-4cac-b641-326b56404837}
वॉल्यूम {00e4ca9e-ab14-41e4-8823-f9e70c7e91df}
LE_PSM_OUT {2d410339-82b6-42aa-b34e-e2e01df8cc1a}

ASHA GATT सेवा के अलावा, सहायक डिवाइस (जैसे, कीबोर्ड, माउस, मॉनिटर, वेबकैम वगैरह) में डिवाइस की जानकारी वाली सेवा लागू करें, ताकि सेंट्रल, सहायक डिवाइस (जैसे, कीबोर्ड, माउस, मॉनिटर, वेबकैम वगैरह) के मैन्युफ़ैक्चरर के नाम और डिवाइस के नाम.

ReadOnlyप्रॉपर्टी

ReadOnlyProperties में ये वैल्यू होती हैं:

बाइट ब्यौरा
0 वर्शन - 0x01 होना चाहिए
1 DeviceCapabilities को देखें.
2-9 HiSyncId देखें.
10 FeatureMap देखें.
11-12 रेंडर होने में देरी. यह समय मिलीसेकंड में है, जब से सहायक डिवाइस को तब तक ऑडियो फ़्रेम मिलता रहता है, जब तक कि वह रेंडर नहीं हो जाता आउटपुट. इन बाइट का इस्तेमाल करके, वीडियो को देर से देखा जा सकता है ऑडियो के साथ सिंक हो जाता है.
13-14 आने वाले समय में इस्तेमाल के लिए रिज़र्व किया गया. शून्य से शुरू करें.
15-16 इस्तेमाल किए जा सकने वाले Codec आईडी. यह बिटमास्क है की जगह हो सकती है. बिट लोकेशन में 1, समर्थित कोडेक. उदाहरण के लिए, 0x0002 बताता है कि G.722 16 किलोहर्ट्ज़ पर समर्थित है. अन्य सभी बिट को 0 पर सेट किया जाएगा.

डिवाइस की क्षमता

बिट ब्यौरा
0 डिवाइस का ओर (0: बाएं, 1: दाएं)
1 इससे पता चलता है कि डिवाइस स्टैंडअलोन है या नहीं और इसमें मोनो डेटा है या नहीं या डिवाइस किसी सेट का हिस्सा है (0: मोनोरल, 1: बाइनॉरल)
2 डिवाइस पर CSIS काम करता है (0: काम नहीं करता, 1: काम करता है)
3-7 रिज़र्व किया गया (0 पर सेट किया गया)

HiSyncID

सभी बाइनॉरल डिवाइसों के लिए यह फ़ील्ड यूनीक होना चाहिए. हालांकि, यह बाएं और दाएं सेट के लिए एक जैसा है.

बाइट ब्यौरा
0-1 मैन्युफ़ैक्चरर का आईडी. यह है कंपनी बीटीएसआईजी से असाइन किए गए आइडेंटिफ़ायर.
2-7 कान की मशीन के सेट की पहचान करने वाला यूनीक आईडी. यह आईडी सेट करना ज़रूरी है स्क्रीन पर एक जैसा दिखेगा.

फ़ीचरमैप

बिट ब्यौरा
0 LE CoC ऑडियो आउटपुट स्ट्रीमिंग की सुविधा है (हां/नहीं).
1-7 रिज़र्व किया गया (0 पर सेट किया गया).

कोडेक का आईडी

अगर बिट सेट है, तो वह कोडेक उस खास फ़ॉर्मैट में काम करता है.

ID / बिट नंबर कोडेक और सैंपल रेट ज़रूरी बिटरेट फ़्रेम टाइम सेंट्रल (C) या सहायक डिवाइस (P) पर ज़रूरी है
0 बुक किया हुआ बुक किया हुआ बुक किया हुआ बुक किया हुआ
1 जी.722 @ 16 किलोहर्ट्ज़ 64 केबिट/से॰ वैरिएबल सी और पी
2 से 15 तक के लोग बुक किए जा सकते हैं.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है 0 भी आरक्षित है.

ऑडियोकंट्रोलपॉइंट

LE CoC के बंद होने पर इस कंट्रोल पॉइंट का इस्तेमाल नहीं किया जा सकता. यहां जाएं: शुरुआत करने के लिए और प्रोसेस के बारे में जानकारी देने के लिए, ऑडियो स्ट्रीम को बंद करना.

ओपीकोड तर्क GATT उप-प्रक्रिया ब्यौरा
1 «Start»
  • uint8_t codec
  • uint8_t audiotype
  • int8_t volume
  • int8_t otherstate
जवाब के साथ लिखें और इसके ज़रिए अतिरिक्त स्थिति की सूचना मिलने की उम्मीद करें AudioStatusPoint की विशेषता. सहायक डिवाइस (जैसे, कीबोर्ड, माउस, मॉनिटर, वेबकैम वगैरह) को कोडेक को रीसेट करने और फ़्रेम 0 का प्लेबैक. कोडेक फ़ील्ड, इस्तेमाल किए जाने वाले कोडेक आईडी के बारे में बताता है इस प्लेबैक के लिए. उदाहरण के लिए, कोडेक फ़ील्ड "1" है 16k हर्ट्ज़ पर G.722 के लिए.

ऑडियो टाइप बिट फ़ील्ड, ऑडियो टाइप के बारे में बताता है स्ट्रीम में:
  • 0 - जानकारी नहीं है
  • 1 - रिंगटोन
  • 2 - फ़ोन कॉल
  • 3 - मीडिया
अन्य स्टेट फ़ील्ड बताता है कि बाइनॉरल (बाइनॉरल) का दूसरा हिस्सा है या नहीं डिवाइस कनेक्ट हैं. किसी दूसरे सहायक डिवाइस के कनेक्ट होने पर, फ़ील्ड की वैल्यू 1 होती है. नहीं तो वैल्यू 0 होती है.

सहायक डिवाइस, एक्सटेंशन से पहले, कनेक्शन से जुड़े अपडेट का अनुरोध नहीं करेगा «Stop» ऑपकोड मिल गया है.
2 «Stop» कोई नहीं जवाब के साथ लिखें और इसके ज़रिए अतिरिक्त स्थिति की सूचना मिलने की उम्मीद करें AudioStatusPoint की विशेषता. सहायक डिवाइस (जैसे, कीबोर्ड, माउस, मॉनिटर, वेबकैम वगैरह) को ऑडियो रेंडर करने से रोकने का निर्देश देता है. एक नया ऑडियो इस स्टॉप के बाद, सेट अप क्रम शुरू होना चाहिए का इस्तेमाल करें.
3 «Status»
  • uint8_t connected
बिना जवाब के लिखें यह सूचना, कनेक्ट किए गए सहायक डिवाइस (जैसे, कीबोर्ड, माउस, मॉनिटर, वेबकैम वगैरह) को देती है. इस्तेमाल किए जा सकते हैं. कनेक्ट किए गए फ़ील्ड में बताया गया है कि अपडेट किस तरह का है:
  • 0 - अन्य सहायक डिवाइस डिसकनेक्ट किया गया
  • 1 - अन्य सहायक डिवाइस (जैसे, कीबोर्ड, माउस, मॉनिटर, वेबकैम वगैरह) कनेक्ट किए गए
  • 2 - LE कनेक्शन पैरामीटर अपडेट हुआ किसी भी कनेक्शन पर

ऑडियोस्टेटसपॉइंट

ऑडियो कंट्रोल पॉइंट के लिए स्टेटस रिपोर्ट का फ़ील्ड

ऑपकोड ब्यौरा
0 स्थिति ठीक है
-1 अज्ञात निर्देश
-2 अवैध पैरामीटर

ASHA GATT सेवा के लिए विज्ञापन

सेवा के यूयूआईडी को के तौर पर भी काम करते हैं. या तो विज्ञापन या स्कैन में रिस्पॉन्स फ़्रेम के साथ, सहायक डिवाइस (जैसे, कीबोर्ड, माउस, मॉनिटर, वेबकैम वगैरह) में सेवा से जुड़ा डेटा होना चाहिए:

बाइट ऑफ़सेट नाम ब्यौरा
0 विज्ञापन की अवधि >= 0x09
1 विज्ञापन का टाइप 0x16 (सेवा का डेटा - 16-बिट यूयूआईडी)
2-3 सेवा UUID 0xFDF0 (little-endian)

ध्यान दें: यह आईडी कुछ समय के लिए है.
4 प्रोटोकॉल वर्शन 0x01
5 सुविधा
  • 0 - बाईं ओर (0) या दाईं ओर (1) साइड
  • 1 - सिंगल (0) या ड्यूअल (1) डिवाइस.
  • 2 - डिवाइस पर CSIS काम करता है (<0: काम नहीं करता, 1: काम करता है)
  • 3-7 - रिज़र्व किया गया. ये बिट शून्य होने चाहिए.
6-9 काटे-छांटे गए HiSyncID चार सबसे अहम बाइट HiSyncId. ये बाइट, आईडी का सबसे रैंडम हिस्सा होने चाहिए.

सहायक डिवाइस (जैसे, कीबोर्ड, माउस, मॉनिटर, वेबकैम वगैरह) में पूरा स्थानीय नाम होना चाहिए डेटा टाइप, जो कान की मशीन के नाम के बारे में बताता है. इस नाम से का इस्तेमाल मोबाइल डिवाइस के यूज़र इंटरफ़ेस पर किया जा सकता है, ताकि उपयोगकर्ता सही डिवाइस. नाम में बाईं या दाईं ओर मौजूद जानकारी नहीं होनी चाहिए क्योंकि यह जानकारी यहां दी गई है DeviceCapabilities.

अगर सहायक डिवाइसों में, नाम और ASHA सेवा से जुड़े डेटा टाइप को एक जैसा रखा गया है फ़्रेम टाइप (ADV या SCAN RESP), फिर दो डेटा टाइप ("पूरा स्थानीय नाम") और "ASHA सेवा के लिए सेवा डेटा") दिखेंगे एक ही फ़्रेम में रखें. इससे मोबाइल डिवाइस स्कैनर दोनों डेटा ऐक्सेस कर सकता है एक ही स्कैन के नतीजे में.

पहली बार पेयर करते समय, यह ज़रूरी है कि सहायक डिवाइस (जैसे, कीबोर्ड, माउस, मॉनिटर, वेबकैम वगैरह) इतनी तेज़ दर से विज्ञापन करते हैं कि मोबाइल डिवाइस तेज़ी से सहायक डिवाइस (जैसे, कीबोर्ड, माउस, मॉनिटर, वेबकैम वगैरह) को पहचानें और उनसे जुड़ाव महसूस करें.

बाएं और दाएं सहायक डिवाइस को सिंक करें

Android मोबाइल डिवाइसों और सहायक डिवाइसों पर ब्लूटूथ की मदद से काम करने के लिए उन्हें सिंक्रोनाइज़ करने की ज़िम्मेदारी उनकी है. प्लेबैक उन सहायक डिवाइसों को सिंक करना ज़रूरी है जो समय. दोनों सहायक डिवाइसों (जैसे, कीबोर्ड, माउस, मॉनिटर, वेबकैम वगैरह) को एक साथ फ़िल्टर करें.

सहायक डिवाइस, क्रम का इस्तेमाल करके अपने समय को सिंक कर सकते हैं संख्या, ऑडियो पेलोड के हर पैकेट के पहले से जुड़ी होती है. द सेंट्रल इस बात की गारंटी देता है कि एक ही समय पर चलाए जाने वाले ऑडियो पैकेट समय की एक ही क्रम संख्या है. क्रम हर ऑडियो पैकेट के बाद, एक संख्या बढ़ जाती है. हर क्रम संख्या 8-बिट है, इसलिए क्रम संख्या 256 के बाद दोहराई जाएंगी ऑडियो पैकेट. हर ऑडियो पैकेट का साइज़ और सैंपल रेट तय होता है तो दो सहायक डिवाइस (जैसे, कीबोर्ड, माउस, मॉनिटर, वेबकैम वगैरह) खेलने का समय. ऑडियो पैकेट के बारे में ज़्यादा जानकारी के लिए, यहां देखें ऑडियो पैकेट का फ़ॉर्मैट और समय.

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

  • AudioControlPoint के «Start» कमांड के हिस्से के तौर पर, बाइनॉरल के दूसरी तरफ़ के कनेक्शन की मौजूदा स्थिति डिवाइस दिए गए हैं.
  • जब कोई कनेक्शन, डिस्कनेक्शन, या किसी सहायक डिवाइस (जैसे, कीबोर्ड, माउस, मॉनिटर, वेबकैम वगैरह) पर, कनेक्शन पैरामीटर अपडेट करने की कार्रवाई, AudioControlPoint का «Status» निर्देश यहां भेजा जाता है बाइनॉरल डिवाइस की दिशा में चलने के लिए डिज़ाइन किया गया है.

ऑडियो पैकेट का फ़ॉर्मैट और समय

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

  • ऑडियो फ़्रेम हमेशा समय के कनेक्शन अंतराल से मेल खाना चाहिए. उदाहरण के लिए, अगर कनेक्शन का इंटरवल 20 मि॰से॰ है और सैंपल रेट है 16 किलोहर्ट्ज़ (kHz) तक के ऑडियो फ़्रेम में, फिर ऑडियो फ़्रेम में 320 सैंपल होंगे.
  • सिस्टम में सैंपल रेट, 8 किलोहर्ट्ज़ (kHz) के मल्टीपल तक सीमित है फ़्रेम में हमेशा पूर्णांकों की संख्या होती है, भले ही फ़्रेम टाइम या कनेक्शन इंटरवल.
  • सीक्वेंस बाइट को ऑडियो फ़्रेम से पहले जोड़ा जाएगा. क्रम बाइट को रैप-अराउंड के साथ गिना जाएगा और सहायक डिवाइस को बफ़र के मेल न खाने या अंडरफ़्लो का पता लगाएं.
  • एक ऑडियो फ़्रेम हमेशा एक LE पैकेट में फ़िट होना चाहिए. ऑडियो फ़्रेम को एक अलग L2CAP पैकेट के तौर पर भेजा जाएगा. एलई का साइज़ एलएल पीडीयू यह होगा:
    ऑडियो पेलोड का साइज़ + 1 (सीक्वेंस काउंटर) + 6 (L2CAP हेडर के लिए 4, एसडीयू के लिए 2)
  • एक कनेक्शन इवेंट हमेशा इतना बड़ा होना चाहिए कि उसमें दो ऑडियो शामिल किए जा सकें एक ACK बैंडविथ के लिए पैकेट और 2 खाली पैकेट ट्रांसमिशन. ध्यान दें कि ऑडियो पैकेट के अलग-अलग हिस्सों में सेंट्रल के ब्लूटूथ कंट्रोलर का इस्तेमाल करें. सहायक डिवाइस हर कनेक्शन इवेंट के लिए, दो से ज़्यादा फ़्रैगमेंट वाले ऑडियो पैकेट.

सेंट्रल को कुछ लचीला बनाने के लिए, G.722 पैकेट की लंबाई बताया गया है. G.722 पैकेट की लंबाई, कनेक्शन के हिसाब से बदल सकती है इंटरवल को सेट करें.

G.722 आउटपुट ऑक्टेट फ़ॉर्मैट में Rec. ITU-T G.722 (09/2012) सेक्शन 1.4.4 "मल्टीप्लेक्सर"

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

कोडेक बिटरेट कनेक्शन इंटरवल CE लंबाई (1M/2M PHY) ऑडियो पेलोड का साइज़
जी.722 @ 16 किलोहर्ट्ज़ 64 केबिट/से॰ 20 मिलीसेकंड 5000/3750 हमें 160 बाइट

ऑडियो स्ट्रीम शुरू और बंद करना

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

  1. पीएसएम और अगर ज़रूरत हो, तो रेंडर करने में देरी भी होती है. ये वैल्यू को सेंट्रल की मदद से कैश मेमोरी में सेव किया जा सकता है.
  2. CoC L2CAP चैनल खोला गया है – सहायक डिवाइस (जैसे, कीबोर्ड, माउस, मॉनिटर, वेबकैम वगैरह) को आठ क्रेडिट मिलेंगे शुरुआत में इस्तेमाल किया जा सकता है.
  3. पैरामीटर पर लिंक स्विच करने के लिए, कनेक्शन का अपडेट जारी किया जाता है चुने गए कोडेक के लिए ज़रूरी है. सेंट्रल, कनेक्शन को अपडेट कर सकता है पिछले चरण में CoC कनेक्शन से पहले.
  4. सेंट्रल और सहायक डिवाइस (जैसे, कीबोर्ड, माउस, मॉनिटर, वेबकैम वगैरह) दोनों होस्ट, अपडेट होने का इंतज़ार करते हैं पूरा इवेंट.
  5. ऑडियो एन्कोडर को रीस्टार्ट करें और पैकेट के क्रम की संख्या को शून्य पर रीसेट करें. काम के पैरामीटर वाला «Start» कमांड यह है AudioControlPoint पर जारी किया गया है. सेंट्रल टीम, स्टेटस की सूचना मिलने का इंतज़ार करती है को जोड़ा जा सकता है.«Start» इस इंतज़ार से सहायक डिवाइस को इसकी ऑडियो प्लेबैक पाइपलाइन को तैयार करने में कितना समय लगेगा. ऑडियो स्ट्रीमिंग के दौरान, प्रतिरूप हर कनेक्शन इवेंट पर उपलब्ध होना चाहिए, भले ही मौजूदा प्रतिरूप प्रतीक्षा अवधि शून्य नहीं हो सकती है.
  6. सहायक डिवाइस (जैसे, कीबोर्ड, माउस, मॉनिटर, वेबकैम वगैरह) अपनी अंदरूनी सूची से पहला ऑडियो पैकेट लेता है (क्रम संख्या 0) और उसे चलाता है.

मुख्य संदेश, ब्राउज़र को बंद करने के लिए «Stop» कमांड देता है ऑडियो स्ट्रीम. इस निर्देश के बाद, सहायक डिवाइस को हर कनेक्शन इवेंट. ऑडियो स्ट्रीमिंग फिर से शुरू करने के लिए, ऊपर दिए गए क्रम को देखें चरण 5 से. जब सेंट्रल पास नहीं हो ऑडियो स्ट्रीम कर रहे हैं, तो इसे GATT के लिए LE कनेक्शन बनाए रखना चाहिए सेवाओं.

सहायक डिवाइस (जैसे, कीबोर्ड, माउस, मॉनिटर, वेबकैम वगैरह) को बीच से कनेक्ट नहीं किया जाएगा. पावर बचाने के लिए, सेंट्रल, जब यह ऑडियो स्ट्रीम न कर रहा हो.