वर्शन: 1.3
पिछले अपडेट की तारीख़: 06-09-2024
Legend
| प्रॉडक्ट वर्ब | डेवलपमेंट ऐक्शन |
|---|---|
| "MUST" | प्रॉडक्ट की ज़रूरी शर्त |
| "SHOULD" | वैकल्पिक सुझाव |
| "MAY" | यह होना बढ़िया है |
खास जानकारी
इस दस्तावेज़ में, ChromeOS के साथ काम करने वाले USB+ब्लूटूथ स्पीकर-माइक की ज़रूरी शर्तों के बारे में बताया गया है. यह स्पेसिफ़िकेशन, WWCB प्रॉडक्ट के लिए नहीं है. साथ ही, यह ऐसे प्रॉडक्ट के लिए भी नहीं है जिसे Chromebook के साथ डिज़ाइन और सर्टिफ़ाई किया गया है.
USB
सुरक्षा
2.4 गीगाहर्ट्ज़ वायरलेस डोंगल
- 2.4 गीगाहर्ट्ज़ वाला वायरलेस डिवाइस, सिर्फ़ उस रिसीवर (डोंगल) के साथ अपने-आप पेयर होता है जो बॉक्स में मिलता है.
- हेडसेट को किसी अन्य रिसीवर से जोड़ने या नए हेडसेट को मौजूदा रिसीवर से जोड़ने के लिए, उपयोगकर्ता को डिवाइस पर या ऐप्लिकेशन के ज़रिए कार्रवाई करनी होगी.
- अगर किसी ऐप्लिकेशन को हेडसेट/रिसीवर की जोड़ी बनाने की सुविधा में बदलाव करने की ज़रूरत है, तो ऐप्लिकेशन को ChromeOS पर चलना चाहिए. जैसे, एक्सटेंशन के ज़रिए. ऐप्लिकेशन, WebUSB/WebHID का इस्तेमाल करने वाला वेब ऐप्लिकेशन भी हो सकता है.
- अगर पेयरिंग को एक्सटेंशन के ज़रिए लागू किया जाता है, तो एक्सटेंशन के पास सिर्फ़ यूएसबी पोर्ट का ऐक्सेस होना चाहिए. कॉन्टेंट स्क्रिप्ट को साफ़ तौर पर अनुमति नहीं दी गई है.
फ़र्मवेयर और कनेक्टर
- हेडसेट को ऑडियो डिवाइस के तौर पर घोषित किया जाना चाहिए. साथ ही, इसमें सही ऑडियो इंटरफ़ेस (0x01) डिस्क्रिप्टर होना चाहिए.
- इनपुट और आउटपुट, दोनों टर्मिनल के लिए एक ही डिस्क्रिप्टर होना चाहिए.
- यूएसबी ऑडियो क्लास (यूएसी) टर्मिनल टाइप की रिपोर्ट करने का सुझाव दिया जाता है
- हेडसेट (0x0402)
- SpeakerPhone (0x0403-0x0405) .
- यूएसबी ऑडियो क्लास (यूएसी) टर्मिनल टाइप की रिपोर्ट करने का सुझाव दिया जाता है
- इनपुट और आउटपुट, दोनों टर्मिनल के लिए एक ही डिस्क्रिप्टर होना चाहिए.
- अगर इसमें कोई बटन है, तो उसे एचआईडी के तौर पर सेट करना होगा.
- हेडसेट को WWCB फ़र्मवेयर और कनेक्टर की ज़रूरी शर्तों को पूरा करना होगा.
सॉफ़्टवेयर
फ़ॉर्मैट
कृपया ऑडियो फ़ॉर्मैट देखें.
ऐसे डिवाइस के लिए जिसमें इनपुट और आउटपुट, दोनों ऑडियो इंटरफ़ेस डिस्क्रिप्टर मौजूद हैं.
ऑडियो इंटरफ़ेस डिस्क्रिप्टर का उदाहरण
Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0
अगर इनपुट और आउटपुट की सैंपल दरें अलग-अलग हैं, तो डिवाइस में एक ही समय पर अलग-अलग सैंपल दरों पर, ऑडियो चलाने और रिकॉर्ड करने की सुविधा होनी चाहिए.
ऐसा न होने पर, डिवाइस को AudioStreamingInterface Descriptor -> tSamFreq में वही वैल्यू दिखानी होगी.
यूएसबी ऑडियो आउटपुट के 48 किलोहर्ट्ज़ सैंपल रेट का उदाहरण
AudioStreaming Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 2 bBitResolution 16 bSamFreqType 1 Discrete tSamFreq[ 0] 48000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT(Output) bmAttributes 9 Transfer Type Isochronous Synch Type Adaptive Usage Type Dataयूएसबी ऑडियो इनपुट के 44.1k सैंपल रेट का उदाहरण
AudioStreaming Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 2 bBitResolution 16 bSamFreqType 1 Discrete tSamFreq[ 0] 44100 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x81 EP 1 In(Input) bmAttributes 9 Transfer Type Isochronous Synch Type Adaptive Usage Type Data
एचआईडी कोड
- हर एचआईडी इवेंट के लिए, यह एक बार में सिर्फ़ एक इवेंट ट्रांसमिट कर सकता है.
- बटन दबाने पर, सही इवेंट कोड और उससे जुड़ा इवेंट कोड मिलना चाहिए.
- उदाहरण के लिए, आवाज़ बढ़ाओ.
evtest
सिर्फ़ एक बार आवाज़ बढ़ाने वाले इवेंट को देख सकता है. साथ ही, कोड
KEY_VOLUME_UPहोना चाहिए.
- उदाहरण के लिए, आवाज़ बढ़ाओ.
evtest
सिर्फ़ एक बार आवाज़ बढ़ाने वाले इवेंट को देख सकता है. साथ ही, कोड
- अगर कोई इंटरफ़ेस इन फ़ंक्शन को उपलब्ध कराने के लिए डिज़ाइन किया गया है, तो यूएसबी पेरिफ़ेरल को USB.org HID स्पेसिफ़िकेशन के मुताबिक, HID इवेंट भेजने या पाने की सुविधा देनी होगी.
उपयोगकर्ता पेज (0x0c)
| कुंजी का नाम | एचआईडी यूसेज आईडी | इस्तेमाल का टाइप |
|---|---|---|
KEY_PLAY |
0x0b0 |
OOC |
KEY_PAUSE |
0x0b1 |
OOC |
KEY_NEXTSONG |
0x0b5 |
OSC |
KEY_PREVIOUSSONG |
0x0b6 |
OSC |
KEY_STOPCD |
0x0b7 |
OSC |
KEY_PLAYPAUSE |
0x0cd |
OSC |
KEY_PREVIOUSSONG |
0x0b6 |
OSC |
KEY_MUTE |
0x0e2 |
OOC |
KEY_VOLUMEUP |
0x0e9 |
RTC |
KEY_VOLUMEDOWN |
0x0ea |
RTC |
टेलीफ़ोनी पेज (0x0b)
| कुंजी का नाम | एचआईडी यूसेज आईडी | इस्तेमाल का टाइप |
|---|---|---|
| हुक स्विच | 0x20 |
OOC |
| रिंगर | 0x9e |
OOC |
एलईडी पेज (0x08)
| कुंजी का नाम | एचआईडी यूसेज आईडी | इस्तेमाल का टाइप |
|---|---|---|
| म्यूट करें | 0x09 |
OOC |
| ऑफ़-हुक | 0x17 |
OOC |
| रिंग | 0x18 |
OOC |
ऑडियो जैक का पता लगाने की सुविधा
अगर कोई यूएसबी डिवाइस, यूएसबी ऑडियो क्लास (यूएसी) के साथ काम नहीं करता है, तो वह ChromeOS सिस्टम ट्रे में हमेशा एक आउटपुट नोड दिखाएगा. हालांकि, अगर यूएसबी डिवाइस में यूएसी की सुविधा काम करती है, तो डिवाइस को कनेक्ट करने पर सिस्टम, 3.5 मि॰मी॰ के ऑडियो जैक का सही तरीके से पता लगा पाएगा.
- CrOS को 3.5 मि॰मी॰ जैक के लिए, मौजूदगी का पता लगाने की सुविधा का इस्तेमाल करना होगा
ब्लूटूथ से जुड़ी सामान्य ज़रूरी शर्तें
ChromeOS के साथ काम करने वाले डिवाइस - ब्लूटूथ स्पेसिफ़िकेशन लेख पढ़ें.
ऑडियो फ़ॉर्मैट
| प्लेबैक सेटिंग | रिकॉर्डिंग | |
|---|---|---|
| सैंपल रेट | ≥ 16 किलोहर्ट्ज़ | ≥ 16 किलोहर्ट्ज़ |
| फ़ॉर्मैट | S16_LE | S16_LE |
- चैनल नंबर और कॉन्फ़िगरेशन सही होना चाहिए.
- हेडसेट को जिन सैंपलिंग रेट के साथ काम करने की अनुमति है वे सभी सही तरीके से काम करने चाहिए.
- मेज़र की गई दर और सैंपलिंग रेट के बीच का अंतर, 0.1% से ज़्यादा नहीं होना चाहिए.
- मापी गई दर के लीनियर रिग्रेशन के लिए स्टैंडर्ड गड़बड़ी, 30 से कम होनी चाहिए.
हेडसेट में, अलग-अलग सैंपल रेट पर ऑडियो चलाने या कैप्चर करने की सुविधा होनी चाहिए.
उदाहरण के लिए, 44.1 किलोहर्ट्ज़ से कम फ़्रीक्वेंसी वाला ऑडियो चलाएं, लेकिन साथ ही 48 किलोहर्ट्ज़ से कम फ़्रीक्वेंसी वाली आवाज़ कैप्चर करें.
- अगर ऐसा नहीं है, तो सिस्टम में इस सुविधा को बंद करने के लिए, ChromeOS को एक खास कॉन्फ़िगरेशन फ़ाइल जोड़नी होगी.
ऑडियो की क्वालिटी
का पालन करेंपाथ कैप्चर करें - म्यूट करें
- अगर उपयोगकर्ताओं के लिए ऑडियो डिवाइस को म्यूट करने का कोई इंटरफ़ेस है, तो यह ज़रूरी है कि वह
- म्यूट किए गए स्टेटस को इस तरह से बनाए रखें कि इस पर इनका असर न पड़े:
- डिवाइस को खोलना और बंद करना.
- किसी दूसरे इनपुट डिवाइस पर स्विच करना.
ऑडियो के इंतज़ार का समय
इंतज़ार का समय
- आउटपुट में होने वाली देरी
- ऑडियो चलाने की सुविधा शुरू करने के लिए उपयोगकर्ता की ओर से की गई कार्रवाई के 500 मि॰से॰ के अंदर ऑडियो चलना शुरू हो जाना चाहिए.
- अगर डिवाइस का ओईएम यह साबित कर सकता है कि इस ज़रूरी शर्त को पूरा न करने पर भी, डिवाइस में गूंज नहीं होती है, तो वह इस शर्त को पूरा न करने पर छूट पाने का अनुरोध कर सकता है.
- ऑडियो चलाने की सुविधा शुरू करने के लिए उपयोगकर्ता की ओर से की गई कार्रवाई के 500 मि॰से॰ के अंदर ऑडियो चलना शुरू हो जाना चाहिए.
ऑडियो/वीडियो सिंक
- ऑडियो प्लेबैक, वीडियो प्लेबैक के साथ सिंक होना चाहिए. ऑडियो, वीडियो से ≤25 मि॰से॰ पहले या ≤95 मि॰से॰ बाद में शुरू हो सकता है.
बदलाव का इतिहास
| तारीख | वर्शन | नोट |
|---|---|---|
| 2024-09-06 | 1.3 | ChromeOS के साथ काम करने वाले डिवाइस के स्पेसिफ़िकेशन की जानकारी. पार्टनर साइट को पहली बार पब्लिश करना. |
| 2022-09-14 | 1.2 | इसे 1.2 वर्शन में अपडेट किया गया है. |
| 2022-08-19 | 1.1 | इसे v1.1 पर अपडेट किया गया है. |
| 2022-08-18 | 1.0 | WWCB से जुड़ी खास जानकारी बनाई गई. |