เวอร์ชัน: 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)
- ชุดหูฟัง (0x0402)
- SpeakerPhone (0x0403-0x0405)
- ขอแนะนำให้รายงานประเภทเทอร์มินัลของคลาสเสียง USB (UAC)
- ต้องมีตัวอธิบายที่สอดคล้องกัน 1 รายการสำหรับทั้งเทอร์มินัลอินพุตและเอาต์พุต
- หากมีปุ่มใดๆ จะต้องประกาศเป็น 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
- เช่น เพิ่มระดับเสียง
evtest
จะสังเกตได้เฉพาะเหตุการณ์เพิ่มระดับเสียง 1 รายการ และโค้ดต้องเป็น
- หากมีอินเทอร์เฟซที่ออกแบบมาเพื่อให้บริการฟังก์ชันต่อไปนี้ อุปกรณ์ต่อพ่วง 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 จะต้องเพิ่มไฟล์การกำหนดค่าที่เฉพาะเจาะจงเพื่อ ป้องกันไม่ให้เกิดขึ้นในฝั่งระบบ
คุณภาพเสียง
เส้นทางการจับภาพ - ปิดเสียง
- หากมีอินเทอร์เฟซให้ผู้ใช้ปิดเสียงอุปกรณ์เสียง อินเทอร์เฟซนั้นต้องมีลักษณะดังนี้
- รักษาสถานะการปิดเสียงในลักษณะที่ไม่ได้รับผลกระทบจากสิ่งต่อไปนี้
- การเปิดและปิดอุปกรณ์
- เปลี่ยนไปใช้อุปกรณ์ป้อนข้อมูลอื่น
เวลาในการตอบสนองของเสียง
เวลาในการตอบสนอง
- เวลาในการตอบสนองของเอาต์พุต
- การเล่นเสียงต้องเริ่มภายใน ≤500 มิลลิวินาทีหลังจากที่ผู้ใช้ดำเนินการซึ่ง
เริ่มการเล่น
- อาจขอรับการยกเว้นได้หาก OEM ของอุปกรณ์พิสูจน์ได้ว่าไม่มีเสียงก้อง เมื่อไม่เป็นไปตามข้อกำหนดนี้
- การเล่นเสียงต้องเริ่มภายใน ≤500 มิลลิวินาทีหลังจากที่ผู้ใช้ดำเนินการซึ่ง
เริ่มการเล่น
การซิงค์ภาพและเสียง
- การเล่นเสียงควรซิงค์กับการเล่นวิดีโอ การเล่นเสียง อาจนำหน้าวิดีโอ ≤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 ที่เกี่ยวข้องแล้ว |