เวอร์ชัน: 1.3
อัปเดตล่าสุด: 06-09-2024
คำอธิบาย
| คำกริยาของผลิตภัณฑ์ | การดำเนินการเพื่อพัฒนา |
|---|---|
| "MUST" | ข้อกำหนดผลิตภัณฑ์ที่จำเป็น |
| "SHOULD" | คําแนะนําที่ไม่บังคับ |
| "MAY" | สิ่งที่แนะนำให้มี |
ภาพรวม
เอกสารนี้อธิบายข้อกำหนดของลำโพงไมโครโฟน USB+บลูทูธที่เข้ากันได้กับ ChromeOS ข้อกำหนดนี้ไม่ใช่สำหรับผลิตภัณฑ์ WWCB หรือ ที่ออกแบบและรับรองร่วมกับ Chromebook
USB
ความปลอดภัย
ดองเกิลไร้สาย 2.4 GHz
- อุปกรณ์ไร้สาย 2.4 GHz จะจับคู่กับตัวรับสัญญาณ (ดองเกิล) ที่มาพร้อมกับกล่องโดยอัตโนมัติเท่านั้น
- ต้องมีการดำเนินการของผู้ใช้ (ในอุปกรณ์หรือผ่านแอป) เพื่อจับคู่ชุดหูฟัง กับตัวรับสัญญาณอื่น หรือจับคู่ชุดหูฟังใหม่กับตัวรับที่มีอยู่
- หากจําเป็นต้องให้แอปเปลี่ยนการจับคู่ชุดหูฟัง/เครื่องรับ แอปจะต้องทํางาน ChromeOS เช่น ผ่านส่วนขยาย แอปยังสามารถเป็นเว็บแอปที่ใช้ WebUSB/WebHID
- หากดำเนินการจับคู่ผ่านส่วนขยาย ส่วนขยายจะต้องเท่านั้น มีสิทธิ์เข้าถึงพอร์ต USB สคริปต์เนื้อหาไม่ได้รับอนุญาตอย่างชัดเจน
เฟิร์มแวร์และเครื่องมือเชื่อมต่อ
- ต้องประกาศว่าชุดหูฟังเป็นอุปกรณ์เสียงที่มีอินเทอร์เฟซเสียงที่ถูกต้อง
(0x01) ข้อบ่งชี้
- ต้องมีตัวบ่งชี้ที่สอดคล้องกัน 1 รายการสําหรับทั้งขั้วต่ออินพุตและเอาต์พุต
- ขอแนะนําให้รายงานประเภทขั้วต่อ USB Audio Class (UAC)
- ชุดหูฟัง (0x0402)
- SpeakerPhone (0x0403-0x0405)
- ขอแนะนําให้รายงานประเภทขั้วต่อ USB Audio Class (UAC)
- ต้องมีตัวบ่งชี้ที่สอดคล้องกัน 1 รายการสําหรับทั้งขั้วต่ออินพุตและเอาต์พุต
- หากมีปุ่มใดก็ตาม จะต้องประกาศเป็น HID
- ชุดหูฟังต้องเป็นไปตามข้อกำหนดของเฟิร์มแวร์และขั้วต่อ WWCB
ซอฟต์แวร์
รูปแบบ
โปรดดูที่รูปแบบเสียง
สำหรับอุปกรณ์ที่มีตัวบ่งชี้อินเทอร์เฟซเสียงทั้งอินพุตและเอาต์พุต
ตัวอย่าง Audio Interface Descriptor
Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0
หากอัตราตัวอย่างของอินพุตและเอาต์พุตแตกต่างกัน อุปกรณ์ต้องรองรับการเล่นและบันทึกด้วยอัตราตัวอย่างที่แตกต่างกันในเวลาเดียวกัน
ไม่เช่นนั้น อุปกรณ์ต้องแสดงค่าเดียวกันใน AudioStreaming
ตัวบอกอินเทอร์เฟซ -> 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.1 K
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
สังเกตการณ์การเพิ่มเสียงได้เพียงรายการเดียวเท่านั้นและโค้ดต้อง
KEY_VOLUME_UP
- เช่น เพิ่มระดับเสียง
evtest
สังเกตการณ์การเพิ่มเสียงได้เพียงรายการเดียวเท่านั้นและโค้ดต้อง
- หากอินเทอร์เฟซใดออกแบบมาเพื่อมอบฟังก์ชันต่อไปนี้ อุปกรณ์ต่อพ่วง 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 มม.
ข้อกำหนดทั่วไปของบลูทูธ
โปรดดูข้อมูลจำเพาะของบลูทูธที่เข้ากันได้กับ ChromeOS
รูปแบบเสียง
| การเล่น | กำลังบันทึก | |
|---|---|---|
| อัตราการสุ่มตัวอย่าง | ≥ 16 kHz | ≥ 16 kHz |
| รูปแบบ | S16_LE | S16_LE |
- หมายเลขช่องและการกำหนดค่าต้องถูกต้อง
- อัตราการสุ่มตัวอย่างทั้งหมดที่ระบุว่ารองรับต้องทำงานได้อย่างถูกต้อง
- ความเบี่ยงเบนระหว่างอัตราการวัดและอัตราการสุ่มตัวอย่างต้องไม่เกิน 0.1%
- ข้อผิดพลาดมาตรฐานสำหรับการถดถอยเชิงเส้นของอัตราที่วัดได้ต้อง < 30.
หูฟังต้องรองรับการเล่นหรือบันทึกด้วยอัตราตัวอย่างเสียงที่ต่างกันซึ่งระบุไว้ว่ารองรับ
ตัวอย่างเช่น เล่นเสียงภายใต้ 44.1 kHz แต่บันทึกเสียงที่ไม่ถึง 48 kHz พร้อมกัน
- มิเช่นนั้น ChromeOS จะต้องเพิ่มไฟล์การกําหนดค่าที่เฉพาะเจาะจงเพื่อป้องกันการอัปเดตดังกล่าวในฝั่งระบบ
คุณภาพเสียง
เส้นทางการจับภาพ - ปิดเสียง
- หากมีอินเทอร์เฟซสำหรับให้ผู้ใช้ปิดเสียงอุปกรณ์เสียง อุปกรณ์ดังกล่าวจะต้อง
- คงสถานะการปิดเสียงในลักษณะที่ไม่ได้รับผลกระทบจากสิ่งต่อไปนี้
- เปิดและปิดอุปกรณ์
- เปลี่ยนไปใช้อุปกรณ์อินพุตอื่น
เวลาในการตอบสนองของเสียง
เวลาในการตอบสนอง
- เวลาในการตอบสนองของเอาต์พุต
- การเล่นเสียงต้องเริ่มภายใน 500 มิลลิวินาทีหลังจากที่ผู้ใช้ดำเนินการที่เริ่มการเล่น
- อาจขอยกเว้นในกรณีที่อุปกรณ์ OEM พิสูจน์ได้ว่าไม่มีเสียงสะท้อน เมื่อไม่เป็นไปตามข้อกำหนดนี้
- การเล่นเสียงต้องเริ่มภายใน 500 มิลลิวินาทีหลังจากที่ผู้ใช้ดำเนินการที่เริ่มการเล่น
การซิงค์ A/V
- การเล่นเสียงควรซิงค์กับการเล่นวิดีโอ การเล่นเสียงอาจนำหน้าวิดีโอได้ไม่เกิน 25 ms หรือตามหลังวิดีโอได้ไม่เกิน 95 ms
ประวัติการแก้ไข
| วันที่ | เวอร์ชัน | หมายเหตุ |
|---|---|---|
| 2024-09-06 | 1.3 | ได้ข้อมูลข้อมูลจำเพาะที่เข้ากันได้กับ ChromeOS การเผยแพร่เว็บไซต์พาร์ทเนอร์ครั้งแรก |
| 2022-09-14 | 1.2 | อัปเดตเป็น v1.2 แล้ว |
| 2022-08-19 | 1.1 | อัปเดตเป็น v1.1 แล้ว |
| 2022-08-18 | 1.0 | สร้างข้อกําหนด WWCB ที่เกี่ยวข้องแล้ว |