תאימות ל-ChromeOS – גרסה 1.3 של מפרט רמקול

גרסה: 1.3
תאריך עדכון אחרון: 6 בספטמבר 2024

מקרא

פועל של מוצר פעולת פיתוח
"חובה" דרישת מוצר חובה
"צריך" המלצה אופציונלית
"מאי" מומלץ

סקירה כללית

במסמך הזה מתוארות הדרישות בחיבור USB+Bluetooth שתואם ל-ChromeOS שילוב של רמקול-מיקרופון. המפרט הזה לא מיועד למוצרי WWCB, או מוצר שתוכנן ואושר יחד עם Chromebook.

USB

אבטחה

פלאג אלחוטי 2.4GHz

  • המכשיר האלחוטי של 2.4GHz מתאים באופן אוטומטי רק עם המקלט (הדונגל) שמגיע עם הקופסה.
  • נדרשת פעולה של המשתמש (במכשיר או דרך אפליקציה) כדי להתאים אוזניות למכשיר אחר או להתאים אוזניות חדשות למכשיר קיים.
  • אם האפליקציה נדרשת לשנות את ההתאמה של האוזניות/המקלט, האפליקציה חייבת לפעול ChromeOS, למשל דרך תוסף. האפליקציה יכולה להיות גם אפליקציית אינטרנט באמצעות WebUSB/WebHID.
  • אם ההתאמה מוטמעת דרך תוסף, התוסף חייב להיות בלבד. יכולים לגשת ליציאות USB. אסור להשתמש בסקריפטים של תוכן.

קושחה ומחבר

  • צריך להצהיר על האוזניות כמכשיר אודיו עם ממשק אודיו מתאים (0x01).
    • חייב להיות מתאר תואם אחד גם לקלט וגם לפלט נקודתיים.
      • מומלץ לדווח על סוג המסוף של USB Audio Class‏ (UAC)
        • אוזניות (0x0402)
        • SpeakerPhone (0x0403-0x0405) הקצר הזה. התשובות שלך יעזרו לנו להשתפר.
  • אם יש בו לחצן, צריך להצהיר עליו כמכשיר ממשק אנושי (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, ניתן לשדר רק אירוע אחד פעם אחת בכל פעם.
  • קוד האירוע הנכון וקוד האירוע התואם אמורים להתקבל כשמקישים על הלחצן.
    • לדוגמה, הגבר את עוצמת הקול. evtest יכול לתעד רק אירוע אחד להגברת עוצמת הקול, והקוד חייב 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 מ"מ
    • צריך לבצע זיהוי הוספה באמצעות אחת מהאפשרויות הבאות:

דרישות כלליות עבור Bluetooth

מידע נוסף זמין במאמר תאימות ל-ChromeOS – מפרט Bluetooth.

פורמט האודיו

הפעלה מתבצע תיעוד
תדירות הדגימה ‎≥ 16 kHz ‎≥ 16 kHz
פורמט S16_LE S16_LE
  • מספר הערוץ וההגדרות האישיות צריכים להיות נכונים.
  • כל קצבי הדגימה שעליהם מוצהרות התמיכה באוזניות צריכות לפעול בצורה תקינה.
    • הסטייה בין הקצב שנמדד לבין קצב הדגימה חייבת להיות קטנה מ-0.1%.
    • שגיאת התקן של רגרסיה לינארית של שיעור המדידה צריכה להיות קטנה מ-30.
  • האוזניות צריכות לתמוך בהפעלה או בצילום בקצב דגימה שונה טוען לתמיכה.

    לדוגמה, אפשר להפעיל אודיו בתדירות נמוכה מ-44.1kHz, אבל לצלם קול בתדירות נמוכה מ-48kHz בו-זמנית.

    • אחרת, מערכת ChromeOS תוסיף קובץ תצורה ספציפי אל למנוע זאת בצד המערכת.

איכות האודיו

צילום נתיב – השתקה

  • אם יש ממשק שמאפשר למשתמשים להשתיק את מכשיר האודיו, הוא חייב להיות
    • לשמור על מצב ההשתקה באופן שלא מושפע מגורמים הבאים:
      • פתיחה וסגירה של המכשיר.
      • עוברים להתקן קלט אחר.
  • אם המשתמש לוחץ על לחצן ההשתקה באוזניות או ב-ChromeOS, מצב ההשתקה חייב להשתנות.
  • אם מצב ההשתקה משתנה, האינדיקטור של מצב ההשתקה (למשל:LED) משתנה האוזניות צריכות להשתנות.

זמן אחזור של אודיו

זמן אחזור

  • זמן אחזור של פלט
    • ההפעלה של האודיו חייבת להתחיל ב-500 אלפיות השנייה או פחות לאחר פעולת משתמש מפעיל הפעלה.
      • האפליקציה עשויה לבקש ויתור אם יצרן הציוד המקורי של המכשיר יכול להוכיח שאין הד כאשר הוא לא עומד בדרישה הזו.

סנכרון אודיו-וידאו

  • הפעלת האודיו צריכה להיות מסונכרנת עם הפעלת הסרטון. ההפעלה של האודיו עשויה להקדים את הסרטון ב-25 אלפיות השנייה לכל היותר או לעכב אותו ב-95 אלפיות השנייה לכל היותר.

היסטוריית גרסאות

תאריך גרסה הערות
2024-09-06 1.3 נגזר מהמפרט לתאימות של ChromeOS. פרסום ראשוני של אתר השותף.
2022-09-14 1.2 עודכן לגרסה 1.2.
2022-08-19 1.1 עודכן לגרסה 1.1.
2022-08-18 1.0 נוצר מפרט WWCB קשור.