תואם ל-ChromeOS – גרסה 1.2 של מפרט אוזניות ה-USB

גרסה: 1.2.1
עדכון אחרון: 14.06.2024

מקרא

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

סקירה כללית

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

USB

אבטחה

מתאם אלחוטי של 2.4 GHz

  • המכשיר האלחוטי של 2.4 GHz מבצע התאמה אוטומטית רק עם המקלט (מתאם) מגיע עם הקופסה.
  • נדרשת פעולה של המשתמש (במכשיר או דרך אפליקציה) כדי להתאים את האוזניות למקלט אחר או להתאים אוזניות חדשות למקלט קיים.
  • אם האפליקציה נדרשת לשנות את ההתאמה של האוזניות/המקלט, האפליקציה חייבת לפעול 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
    

אם קצב הדגימה של הקלט והפלט שונים, המכשיר חייב לאפשר הפעלה והקלטה של קצבי דגימה שונים בו-זמנית. אחרת, המכשיר חייב לשקף את אותו הערך בנתונים בסטרימינג מתאר ממשק -> 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) המתאים אירועים בהתאם ל-USB.org HID המפרט.
דף הצרכן (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 תומך אוניברסלי לאפליקציה, המערכת תוכל לזהות כראוי שקע אודיו בגודל 3.5 מ"מ כאשר המכשיר הוכנס.

  • מערכת CrOS חייבת להשתמש בזיהוי נוכחות לשקעים של 3.5 מ"מ
    • חובה לבצע זיהוי של הוספה באמצעות אחת מהאפשרויות הבאות:

פורמט האודיו

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

    לדוגמה, השמעת אודיו בפחות מ-44.1kHz אבל הקלטת קול פחות מ-48kHz בו-זמנית.

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

איכות האודיו

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

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

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

זמן אחזור

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

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

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

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

תאריך גרסה הערות
2024-06-14 1.2.1 נגזר מהמפרט לתאימות של ChromeOS. פרסום ראשוני באתר של השותף.
2022-09-01 1.2 מפרט WWCB קשור גרסה 1.2
2022-06-06 1.1 מפרט WWCB קשור גרסה 1.1
2020-09-21 1.0 נוצר מפרט WWCB קשור.