ChromeOS Compatible - Speakermic Specification v1.3,ChromeOS Compatible - Speakermic Specification v1.3,ChromeOS Compatible - Speakermic Specification v1.3,ChromeOS Compatible - Speakermic Specification v1.3

نسخه: ۱.۳
آخرین به‌روزرسانی: 2024-09-06

افسانه

فعل مربوط به محصول اقدام توسعه‌ای
«باید» الزامات اجباری محصول
«باید» توصیه اختیاری
«ممکن است» خوب است که داشته باشیم

نمای کلی

این سند الزاماتی را شرح می‌دهد که یک بلندگو-میکروفون USB+بلوتوث سازگار با ChromeOS برآورده می‌کند. این مشخصات برای محصولات WWCB و همچنین برای محصولی که همراه با یک Chromebook طراحی و تأیید شده است، نیست.

یو اس بی

امنیت

دانگل بی‌سیم ۲.۴ گیگاهرتز

  • دستگاه بی‌سیم ۲.۴ گیگاهرتزی فقط به صورت خودکار با گیرنده (دانگل) همراه جعبه جفت می‌شود.
  • برای جفت کردن هدست با گیرنده دیگر یا جفت کردن هدست جدید با گیرنده موجود، اقدام کاربر (چه از طریق دستگاه و چه از طریق برنامه) لازم است.
  • اگر لازم باشد برنامه‌ای جفت‌سازی هدست/گیرنده را تغییر دهد، باید روی ChromeOS اجرا شود، مثلاً از طریق یک افزونه. این برنامه همچنین می‌تواند یک برنامه وب با استفاده از WebUSB/WebHID باشد.
  • اگر جفت‌سازی از طریق یک افزونه انجام شود، افزونه فقط باید به پورت‌های USB دسترسی داشته باشد. اسکریپت‌های محتوا صریحاً مجاز نیستند.

میان‌افزار و کانکتور

  • هدست باید به عنوان یک دستگاه صوتی با توصیفگر رابط صوتی صحیح (0x01) اعلام شود.
    • باید یک توصیفگر متناظر برای هر دو ترمینال ورودی و خروجی وجود داشته باشد.
      • توصیه می‌شود نوع ترمینال کلاس صوتی USB (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

    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 با کیفیت ۴۴.۱ هزار

    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 او او سی
KEY_PAUSE 0x0b1 او او سی
KEY_NEXTSONG 0x0b5 او اس سی
KEY_PREVIOUSSONG 0x0b6 او اس سی
KEY_STOPCD 0x0b7 او اس سی
KEY_PLAYPAUSE 0x0cd او اس سی
KEY_PREVIOUSSONG 0x0b6 او اس سی
KEY_MUTE 0x0e2 او او سی
KEY_VOLUMEUP 0x0e9 آر تی سی
KEY_VOLUMEDOWN 0x0ea آر تی سی
صفحه تلفن (0x0b)
نام کلید شناسه استفاده HID نوع استفاده
سوئیچ هوک 0x20 او او سی
رینگر 0x9e او او سی
صفحه LED (0x08)
نام کلید شناسه استفاده HID نوع استفاده
بی‌صدا کردن 0x09 او او سی
آف-هوک 0x17 او او سی
حلقه 0x18 او او سی

تشخیص جک

اگر یک دستگاه USB از کلاس صوتی USB (UAC) پشتیبانی نکند، همیشه یک گره خروجی در سینی سیستم ChromeOS نشان داده می‌شود. با این حال، اگر دستگاه USB از UAC پشتیبانی کند، سیستم قادر خواهد بود هنگام اتصال دستگاه، جک صوتی 3.5 میلی‌متری را به درستی تشخیص دهد.

  • CrOS باید از تشخیص حضور برای جک‌های ۳.۵ میلی‌متری استفاده کند
    • باید تشخیص درج را از طریق یکی از موارد زیر انجام دهد:

الزامات عمومی بلوتوث

به مشخصات بلوتوث سازگار با ChromeOS مراجعه کنید.

فرمت صوتی

پخش ضبط
نرخ نمونه‌برداری ≥ ۱۶ کیلوهرتز ≥ ۱۶ کیلوهرتز
قالب S16_LE S16_LE
  • شماره کانال و تنظیمات باید صحیح باشد.
  • تمام نرخ‌های نمونه‌برداری که هدست پشتیبانی می‌کند باید به درستی کار کنند.
    • انحراف بین نرخ اندازه‌گیری شده و نرخ نمونه‌برداری باید کمتر یا مساوی ۰.۱٪ باشد.
    • خطای استاندارد برای رگرسیون خطی نرخ اندازه‌گیری شده باید کمتر از 30 باشد.
  • هدست باید از پخش یا ضبط تحت نرخ‌های نمونه‌برداری مختلفی که ادعا می‌کند پشتیبانی می‌کند، پشتیبانی کند.

    برای مثال، صدایی با فرکانس کمتر از ۴۴.۱ کیلوهرتز پخش کنید اما همزمان صدای زیر ۴۸ کیلوهرتز را ضبط کنید.

    • در غیر این صورت، برای جلوگیری از آن در سمت سیستم، به ChromeOS نیاز است تا یک فایل پیکربندی خاص اضافه کند.

کیفیت صدا

مسیر ضبط - بی‌صدا

  • اگر رابطی برای بی‌صدا کردن دستگاه صوتی توسط کاربران وجود دارد، باید
    • حالت بی‌صدا را به گونه‌ای حفظ کنید که تحت تأثیر موارد زیر قرار نگیرد:
      • باز و بسته کردن دستگاه.
      • جابجایی به دستگاه ورودی دیگر.
  • اگر کاربر دکمه بی‌صدا کردن روی هدست یا ChromeOS را فشار دهد، وضعیت بی‌صدا کردن باید تغییر کند.
  • اگر وضعیت بی‌صدا تغییر کند، نشانگر وضعیت بی‌صدا (مثلاً LED) روی هدست باید تغییر کند.

تأخیر صوتی

تأخیر

  • تأخیر خروجی
    • پخش صدا باید کمتر یا مساوی ۵۰۰ میلی‌ثانیه پس از اقدام کاربر که پخش را آغاز می‌کند، آغاز شود.
      • اگر تولیدکننده اصلی دستگاه بتواند ثابت کند که در صورت عدم رعایت این الزام، هیچ پژواکی تولید نمی‌شود، می‌تواند درخواست معافیت کند.

همگام‌سازی صدا/تصویر

  • پخش صدا باید با پخش تصویر هماهنگ باشد. پخش صدا ممکن است ≤۲۵ میلی‌ثانیه زودتر یا ≤۹۵ میلی‌ثانیه دیرتر از تصویر باشد.

تاریخچه ویرایش‌ها

تاریخ نسخه یادداشت‌ها
۲۰۲۴-۰۹-۰۶ ۱.۳ مشخصات سازگار با ChromeOS استخراج شده است. انتشار اولیه در سایت شریک.
۱۴-۰۹-۲۰۲۲ ۱.۲ به نسخه ۱.۲ به‌روزرسانی شد.
۲۰۲۲-۰۸-۱۹ ۱.۱ به نسخه ۱.۱ به‌روزرسانی شد.
۲۰۲۲-۰۸-۱۸ ۱.۰ مشخصات WWCB مرتبط ایجاد شد.