ChromeOS के साथ काम करता है - स्पीकरमिक स्पेसिफ़िकेशन v1.3

वर्शन: 1.3
पिछले अपडेट की तारीख़: 06-09-2024

Legend

प्रॉडक्ट वर्ब डेवलपमेंट ऐक्शन
"MUST" प्रॉडक्ट की ज़रूरी शर्त
"SHOULD" वैकल्पिक सुझाव
"MAY" यह होना बढ़िया है

खास जानकारी

इस दस्तावेज़ में, ChromeOS के साथ काम करने वाले USB+ब्लूटूथ स्पीकर-माइक की ज़रूरी शर्तों के बारे में बताया गया है. यह स्पेसिफ़िकेशन, WWCB प्रॉडक्ट के लिए नहीं है. साथ ही, यह ऐसे प्रॉडक्ट के लिए भी नहीं है जिसे Chromebook के साथ डिज़ाइन और सर्टिफ़ाई किया गया है.

USB

सुरक्षा

2.4 गीगाहर्ट्ज़ वायरलेस डोंगल

  • 2.4 गीगाहर्ट्ज़ वाला वायरलेस डिवाइस, सिर्फ़ उस रिसीवर (डोंगल) के साथ अपने-आप पेयर होता है जो बॉक्स में मिलता है.
  • हेडसेट को किसी अन्य रिसीवर से जोड़ने या नए हेडसेट को मौजूदा रिसीवर से जोड़ने के लिए, उपयोगकर्ता को डिवाइस पर या ऐप्लिकेशन के ज़रिए कार्रवाई करनी होगी.
  • अगर किसी ऐप्लिकेशन को हेडसेट/रिसीवर की जोड़ी बनाने की सुविधा में बदलाव करने की ज़रूरत है, तो ऐप्लिकेशन को ChromeOS पर चलना चाहिए. जैसे, एक्सटेंशन के ज़रिए. ऐप्लिकेशन, WebUSB/WebHID का इस्तेमाल करने वाला वेब ऐप्लिकेशन भी हो सकता है.
  • अगर पेयरिंग को एक्सटेंशन के ज़रिए लागू किया जाता है, तो एक्सटेंशन के पास सिर्फ़ यूएसबी पोर्ट का ऐक्सेस होना चाहिए. कॉन्टेंट स्क्रिप्ट को साफ़ तौर पर अनुमति नहीं दी गई है.

फ़र्मवेयर और कनेक्टर

  • हेडसेट को ऑडियो डिवाइस के तौर पर घोषित किया जाना चाहिए. साथ ही, इसमें सही ऑडियो इंटरफ़ेस (0x01) डिस्क्रिप्टर होना चाहिए.
    • इनपुट और आउटपुट, दोनों टर्मिनल के लिए एक ही डिस्क्रिप्टर होना चाहिए.
      • यूएसबी ऑडियो क्लास (यूएसी) टर्मिनल टाइप की रिपोर्ट करने का सुझाव दिया जाता है
  • अगर इसमें कोई बटन है, तो उसे एचआईडी के तौर पर सेट करना होगा.
  • हेडसेट को 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 होना चाहिए.
  • अगर कोई इंटरफ़ेस इन फ़ंक्शन को उपलब्ध कराने के लिए डिज़ाइन किया गया है, तो यूएसबी पेरिफ़ेरल को 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 को एक खास कॉन्फ़िगरेशन फ़ाइल जोड़नी होगी.

ऑडियो की क्वालिटी

का पालन करें

पाथ कैप्चर करें - म्यूट करें

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

ऑडियो के इंतज़ार का समय

इंतज़ार का समय

  • आउटपुट में होने वाली देरी
    • ऑडियो चलाने की सुविधा शुरू करने के लिए उपयोगकर्ता की ओर से की गई कार्रवाई के 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 से जुड़ी खास जानकारी बनाई गई.