גרסה: 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. השימוש בסקריפטים של תוכן אסור באופן מפורש.
קושחה ומחבר
- צריך להצהיר על האוזניות כעל מכשיר אודיו עם מתאר (descriptor) של ממשק אודיו תקין (0x01).
- צריך להיות מתאר תואם אחד לטרמינל הקלט ולטרמינל הפלט.
- מומלץ לדווח על סוג המסוף של USB Audio Class (UAC)
- אוזניות (0x0402)
- SpeakerPhone (0x0403-0x0405) .
- מומלץ לדווח על סוג המסוף של USB Audio Class (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דוגמה לתדירות דגימה של 44.1k של קלט אודיו ב-USB
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, אפשר לשדר רק אירוע אחד בכל פעם.
- כשלוחצים על הלחצן, אמורים להתקבל קוד האירוע הנכון וקוד האירוע התואם.
- לדוגמה, הגדלת עוצמת הקול.
הכלי 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 מ"מ
פורמט האודיו
| הפעלה | מתבצעת הקלטה | |
|---|---|---|
| תדירות הדגימה | ≥ 16 kHz | ≥ 16 kHz |
| פורמט | S16_LE | S16_LE |
- מספר הערוץ וההגדרה שלו צריכים להיות נכונים.
- כל קצב הדגימה שהאוזניות מצהירות על תמיכה בו חייב לפעול בצורה תקינה.
- ההבדל בין קצב המדידה לקצב הדגימה צריך להיות ≤ 0.1% .
- סטיית התקן של הרגרסיה הלינארית של השיעור הנמדד צריכה להיות < 30.
האוזניות צריכות לתמוך בהפעלה או בצילום בקצבי דגימה שונים, כפי שהן מציינות.
לדוגמה, להשמיע אודיו מתחת ל-44.1kHz אבל להקליט קול מתחת ל-48kHz בו-זמנית.
- אחרת, צריך להוסיף ל-ChromeOS קובץ הגדרה ספציפי כדי למנוע את זה בצד המערכת.
איכות האודיו
מסלול צילום – השתקה
- אם יש ממשק שמאפשר למשתמשים להשתיק את מכשיר האודיו, הוא צריך לעמוד בדרישות הבאות:
- שמירה על מצב ההשתקה באופן שלא מושפע מהפעולות הבאות:
- פתיחה וסגירה של המכשיר.
- מעבר למכשיר קלט אחר.
זמן אחזור אודיו
זמן אחזור
- זמן האחזור של הפלט
- הפעלת האודיו חייבת להתחיל תוך 500 אלפיות השנייה לכל היותר אחרי פעולת משתמש שמפעילה את ההפעלה.
- יכול להיות שתהיה אפשרות לבקש פטור אם יצרן הציוד המקורי של המכשיר יוכל להוכיח שלא נוצר הד כשהמכשיר לא עומד בדרישה הזו.
- הפעלת האודיו חייבת להתחיל תוך 500 אלפיות השנייה לכל היותר אחרי פעולת משתמש שמפעילה את ההפעלה.
סנכרון אודיו/וידאו
- הפעלת האודיו צריכה להיות מסונכרנת עם הפעלת הסרטון. הפעלת האודיו עשויה להקדים את הסרטון ב-25 אלפיות השנייה או פחות, או להתרחש אחרי הסרטון ב-95 אלפיות השנייה או פחות.
היסטוריית גרסאות
| תאריך | גרסה | הערות |
|---|---|---|
| 2024-06-21 | 1.2.1 | מפרט תואם ל-ChromeOS. פרסום ראשוני של אתר שותף. |
| 2022-09-01 | 1.2 | מפרט WWCB קשור גרסה 1.2 |
| 2022-02-05 | 1.1 | מפרט WWCB קשור, גרסה 1.1 |
| 2021-01-12 | 1.0 | נוצר מפרט WWCB קשור. |