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

वर्शन: 1.3
पिछली बार अपडेट किया गया: 06-09-2024

Legend

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

खास जानकारी

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

USB

सुरक्षा

2.4 GHz वायरलेस डोंगल

  • 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
    

अगर इनपुट और आउटपुट के सैंपल रेट अलग-अलग हैं, तो डिवाइस के लिए यह ज़रूरी है पर एक ही समय में अलग-अलग सैंपल रेट पर प्लेबैक और कैप्चर करने की सुविधा मिल सकती है. अगर ऐसा नहीं होता है, तो डिवाइस पर AudioStreaming में वही वैल्यू होनी चाहिए इंटरफ़ेस का ब्यौरा देने वाला -> tSamFreq.

  • 48k यूएसबी ऑडियो आउटपुट सैंपल रेट का उदाहरण

    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.1 हज़ार यूएसबी ऑडियो इनपुट के सैंपल रेट का उदाहरण

    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 एचआईडी के मुताबिक इवेंट खास जानकारी.
उपभोक्ता पेज (0x0c)
कुंजी का नाम एचआईडी के इस्तेमाल से जुड़ा आईडी इस्तेमाल का टाइप
KEY_PLAY 0x0b0 OOC
KEY_PAUSE 0x0b1 ओओसी
KEY_NEXTSONG 0x0b5 ओएससी
KEY_PREVIOUSSONG 0x0b6 ओएससी
KEY_STOPCD 0x0b7 ओएससी
KEY_PLAYPAUSE 0x0cd ओएससी
KEY_PREVIOUSSONG 0x0b6 ओएससी
KEY_MUTE 0x0e2 OOC
KEY_VOLUMEUP 0x0e9 RTC
KEY_VOLUMEDOWN 0x0ea RTC
टेलीफ़ोनी पेज (0x0b)
कुंजी का नाम एचआईडी के इस्तेमाल से जुड़ा आईडी इस्तेमाल का टाइप
हुक स्विच 0x20 OOC
रिंगर 0x9e ओओसी
एलईडी पेज (0x08)
कुंजी का नाम एचआईडी के इस्तेमाल से जुड़ा आईडी इस्तेमाल का टाइप
म्यूट करें 0x09 ओओसी
ऑफ-हुक 0x17 OOC
घंटी चालू है 0x18 OOC

जैक का पता लगाना

अगर कोई यूएसबी डिवाइस, यूएसबी ऑडियो क्लास (यूएसी) के साथ काम नहीं करता है, तो ChromeOS के सिस्टम ट्रे में हमेशा एक आउटपुट नोड दिखेगा. हालांकि, अगर यूएसबी डिवाइस यूएसी के मुताबिक, सिस्टम 3.5 मि॰मी॰ के ऑडियो जैक का सही तरीके से पता लगा पाएगा. डिवाइस शामिल किया गया.

  • CrOS में 3.5-मिमी जैक के लिए, डिवाइस के इस्तेमाल में होने की पहचान करने की सुविधा का इस्तेमाल करना ज़रूरी है
    • इनमें से किसी एक के ज़रिए इंसर्ट डिटेक्ट करना ज़रूरी है:

ब्लूटूथ से जुड़ी सामान्य ज़रूरी शर्तें

ChromeOS के साथ काम करने वाले डिवाइसों के लिए ब्लूटूथ स्पेसिफ़िकेशन देखें.

ऑडियो फ़ॉर्मैट

वीडियो चलाएं रिकॉर्ड किया गया
सैंपल रेट ≥ 16 किलोहर्ट्ज़ ≥ 16 किलोहर्ट्ज़
फ़ॉर्मैट S16_LE S16_LE
  • चैनल नंबर और कॉन्फ़िगरेशन सही होना चाहिए.
  • हेडसेट के लिए जिन सैंपलिंग रेट का एलान किया गया है वे सभी सही तरीके से काम करने चाहिए.
    • मापी गई दर और सैंपलिंग रेट के बीच का अंतर ≤ 0.1% होना चाहिए.
    • मेज़र की गई दर के लीनियर रिग्रेशन के लिए स्टैंडर्ड गड़बड़ी, 30 से कम होनी चाहिए.
  • हेडसेट में, अलग-अलग सैंपल रेट पर ऑडियो चलाने या रिकॉर्ड करने की सुविधा होनी चाहिए.

    उदाहरण के लिए, 44.1 किलोहर्ट्ज़ (kHz) से कम के ऑडियो चलाएं, लेकिन 48 किलोहर्ट्ज़ (kHz) से कम की आवाज़ कैप्चर करें साथ-साथ

    • ऐसा न करने पर, ChromeOS को उसे सिस्टम साइड पर होने से रोकता है.

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

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

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

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

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

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

ऑडियो/वीडियो सिंक

  • ऑडियो प्लेबैक, वीडियो प्लेबैक के साथ सिंक होना चाहिए. ऑडियो चलाने में, वीडियो के मुकाबले 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 स्पेसिफ़िकेशन बनाए गए.