ใช้ร่วมกับ ChromeOS ได้ - ข้อมูลจำเพาะของไมโครโฟน USB เวอร์ชัน 1.2

เวอร์ชัน: 1.2.1
อัปเดตล่าสุด: 2024-06-21

Legend

คำกริยาของผลิตภัณฑ์ การดำเนินการในการพัฒนา
"MUST" ข้อกำหนดผลิตภัณฑ์ที่ต้องระบุ
"SHOULD" คำแนะนำเพิ่มเติม
"MAY" สิ่งที่แนะนำให้มี

ภาพรวม

เอกสารนี้จะอธิบายข้อกำหนดที่ไมโครโฟน USB ที่ใช้ได้กับ ChromeOS ต้องมี ข้อกำหนดนี้ไม่ได้มีไว้สำหรับผลิตภัณฑ์ WWCB หรือผลิตภัณฑ์ที่ออกแบบ และได้รับการรับรองร่วมกับ Chromebook

USB

ความปลอดภัย

ดองเกิลไร้สาย 2.4 GHz

  • อุปกรณ์ไร้สาย 2.4 GHz จะจับคู่กับตัวรับสัญญาณ (ดองเกิล) ที่มาพร้อมกับกล่องโดยอัตโนมัติเท่านั้น
  • ผู้ใช้ต้องดำเนินการ (ทั้งในอุปกรณ์หรือผ่านแอป) เพื่อจับคู่ชุดหูฟัง กับเครื่องรับอีกเครื่อง หรือจับคู่ชุดหูฟังใหม่กับเครื่องรับที่มีอยู่
  • หากแอปจำเป็นต้องเปลี่ยนการจับคู่ชุดหูฟัง/ตัวรับสัญญาณ แอปจะต้องทำงานใน ChromeOS เช่น ผ่านส่วนขยาย แอปยังเป็นเว็บแอปที่ใช้ WebUSB/WebHID ได้ด้วย
  • หากมีการติดตั้งใช้งานการจับคู่ผ่านส่วนขยาย ส่วนขยายต้องมี สิทธิ์เข้าถึงพอร์ต USB เท่านั้น ไม่อนุญาตให้ใช้สคริปต์เนื้อหาอย่างชัดเจน

เฟิร์มแวร์และตัวเชื่อมต่อ

  • ต้องประกาศชุดหูฟังเป็นอุปกรณ์เสียงที่มีตัวอธิบายอินเทอร์เฟซเสียงที่ถูกต้อง (0x01)
    • ต้องมีตัวอธิบายที่สอดคล้องกัน 1 รายการสำหรับทั้งเทอร์มินัลอินพุตและเอาต์พุต
      • ขอแนะนำให้รายงานประเภทเทอร์มินัลของคลาสเสียง USB (UAC)
  • หากมีปุ่มใดๆ จะต้องประกาศเป็น HID
  • ชุดหูฟังต้องเป็นไปตามข้อกำหนดด้านเฟิร์มแวร์และตัวเชื่อมต่อ WWCB

ซอฟต์แวร์

รูปแบบ

โปรดดูรูปแบบเสียง

สำหรับอุปกรณ์ที่มีทั้งตัวอธิบายอินเทอร์เฟซเสียงอินพุตและเอาต์พุต

  • ตัวอย่างตัวอธิบายอินเทอร์เฟซเสียง

    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0
      iInterface              0
    

หากอัตราตัวอย่างของอินพุตและเอาต์พุตแตกต่างกัน อุปกรณ์ต้อง รองรับการเล่นและการจับภาพที่อัตราตัวอย่างที่แตกต่างกันได้ในเวลาเดียวกัน ไม่เช่นนั้น อุปกรณ์ต้องแสดงค่าเดียวกันใน AudioStreaming Interface Descriptor -> tSamFreq

  • ตัวอย่างอัตราการสุ่มตัวอย่างเอาต์พุตเสียง USB ที่ 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
    
  • ตัวอย่างอัตราการสุ่มตัวอย่างอินพุตเสียง USB 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
    

รหัส HID

  • สำหรับเหตุการณ์ HID แต่ละรายการ จะส่งเหตุการณ์ได้ครั้งละ 1 รายการเท่านั้น
  • คุณควรได้รับรหัสเหตุการณ์ที่ถูกต้องและรหัสเหตุการณ์ที่เกี่ยวข้องเมื่อกดปุ่ม
    • เช่น เพิ่มระดับเสียง evtest จะสังเกตได้เฉพาะเหตุการณ์เพิ่มระดับเสียง 1 รายการ และโค้ดต้องเป็น KEY_VOLUME_UP
  • หากมีอินเทอร์เฟซที่ออกแบบมาเพื่อให้บริการฟังก์ชันต่อไปนี้ อุปกรณ์ต่อพ่วง USB ต้องรองรับการปล่อยหรือรับเหตุการณ์ HID ที่เกี่ยวข้องตามข้อกำหนด HID ของ USB.org
หน้าผู้บริโภค (0x0c)
ชื่อคีย์ รหัสการใช้งาน HID ประเภทการใช้งาน
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)
ชื่อคีย์ รหัสการใช้งาน HID ประเภทการใช้งาน
สวิตช์ตะขอ 0x20 OOC
เสียงเรียกเข้า 0x9e OOC
หน้า LED (0x08)
ชื่อคีย์ รหัสการใช้งาน HID ประเภทการใช้งาน
ปิดเสียง 0x09 OOC
สายไม่ว่าง 0x17 OOC
แหวน 0x18 OOC

การตรวจจับแจ็ค

หากอุปกรณ์ USB ไม่รองรับ USB Audio Class (UAC) อุปกรณ์จะแสดง โหนดเอาต์พุตในถาดระบบของ ChromeOS เสมอ อย่างไรก็ตาม หากอุปกรณ์ USB รองรับ UAC ระบบจะตรวจพบแจ็กเสียง 3.5 มม. ได้อย่างถูกต้องเมื่อ เสียบอุปกรณ์

  • CrOS ต้องใช้การตรวจหาบุคคลในบ้านสำหรับแจ็ก 3.5 มม.
    • ต้องแทรกการตรวจหาผ่านวิธีใดวิธีหนึ่งต่อไปนี้

รูปแบบเสียง

การเล่น กำลังบันทึก
อัตราการสุ่มตัวอย่าง ≥ 16 kHz ≥ 16 kHz
รูปแบบ S16_LE S16_LE
  • หมายเลขช่องและการกำหนดค่าต้องถูกต้อง
  • อัตราการสุ่มตัวอย่างทั้งหมดที่ชุดหูฟังประกาศว่ารองรับต้องทำงานได้อย่างถูกต้อง
    • ความเบี่ยงเบนระหว่างอัตราที่วัดได้กับอัตราการสุ่มตัวอย่างต้อง ≤ 0.1%
    • ความคลาดเคลื่อนมาตรฐานสำหรับการถดถอยเชิงเส้นของอัตราที่วัดได้ต้องน้อยกว่า 30
  • ชุดหูฟังต้องรองรับการเล่นหรือการบันทึกภายใต้อัตราการสุ่มตัวอย่างต่างๆ ที่ อ้างว่ารองรับ

    เช่น เล่นเสียงที่ต่ำกว่า 44.1 kHz แต่บันทึกเสียงที่ต่ำกว่า 48 kHz พร้อมกัน

    • มิฉะนั้น ChromeOS จะต้องเพิ่มไฟล์การกำหนดค่าที่เฉพาะเจาะจงเพื่อ ป้องกันไม่ให้เกิดขึ้นในฝั่งระบบ

คุณภาพเสียง

เส้นทางการจับภาพ - ปิดเสียง

  • หากมีอินเทอร์เฟซให้ผู้ใช้ปิดเสียงอุปกรณ์เสียง อินเทอร์เฟซนั้นต้องมีลักษณะดังนี้
    • รักษาสถานะการปิดเสียงในลักษณะที่ไม่ได้รับผลกระทบจากสิ่งต่อไปนี้
      • การเปิดและปิดอุปกรณ์
      • เปลี่ยนไปใช้อุปกรณ์ป้อนข้อมูลอื่น
  • หากผู้ใช้กดปุ่มปิดเสียงบนชุดหูฟังหรือ ChromeOS สถานะปิดเสียงต้องเปลี่ยน
  • หากสถานะปิดเสียงมีการเปลี่ยนแปลง ตัวบ่งชี้สถานะปิดเสียง (เช่น LED) บน ชุดหูฟังต้องเปลี่ยน

เวลาในการตอบสนองของเสียง

เวลาในการตอบสนอง

  • เวลาในการตอบสนองของเอาต์พุต
    • การเล่นเสียงต้องเริ่มภายใน ≤500 มิลลิวินาทีหลังจากที่ผู้ใช้ดำเนินการซึ่ง เริ่มการเล่น
      • อาจขอรับการยกเว้นได้หาก OEM ของอุปกรณ์พิสูจน์ได้ว่าไม่มีเสียงก้อง เมื่อไม่เป็นไปตามข้อกำหนดนี้

การซิงค์ภาพและเสียง

  • การเล่นเสียงควรซิงค์กับการเล่นวิดีโอ การเล่นเสียง อาจนำหน้าวิดีโอ ≤25 มิลลิวินาทีหรือตามหลังวิดีโอ ≤95 มิลลิวินาที

ประวัติการแก้ไข

วันที่ เวอร์ชัน หมายเหตุ
2024-06-21 1.2.1 ระบุสเปคที่เข้ากันได้กับ ChromeOS การเผยแพร่เว็บไซต์พาร์ทเนอร์ครั้งแรก
2022-09-01 1.2 ข้อกำหนด WWCB ที่เกี่ยวข้อง v1.2
2022-02-05 1.1 ข้อกำหนด WWCB ที่เกี่ยวข้อง v1.1
2021-01-12 1.0 สร้างข้อกำหนด WWCB ที่เกี่ยวข้องแล้ว