ChromeOS Uyumlu - Hoparlör Mikrofonu Spesifikasyonu v1.3

Sürüm: 1.3
Son güncelleme: 2024-09-06

Legend

Ürün Fiili Geliştirme İşlemi
"MUST" Zorunlu ürün koşulu
"SHOULD" İsteğe bağlı öneri
"MAY" Şunun faydası olabilir:

Genel Bakış

Bu belgede, ChromeOS ile uyumlu USB+Bluetooth hoparlör-mikrofonun karşılaması gereken koşullar açıklanmaktadır. Bu spesifikasyon, WWCB ürünleri veya Chromebook ile birlikte tasarlanıp sertifikalandırılmış bir ürün için geçerli değildir.

USB

Güvenlik

2,4 GHz Kablosuz Dongle

  • 2,4 GHz kablosuz cihaz yalnızca kutuyla birlikte gelen alıcı (dongle) ile otomatik olarak eşlenir.
  • Kulaklığın başka bir alıcıyla veya yeni kulaklığın mevcut alıcıyla eşlenmesi için kullanıcı işlemi (cihazda veya uygulama üzerinden) gerekir.
  • Kulaklık/alıcı eşlemesinin değiştirilmesi için bir uygulama gerekiyorsa bu uygulama ChromeOS'te (ör. uzantı aracılığıyla) çalışmalıdır. Uygulama, WebUSB/WebHID kullanan bir web uygulaması da olabilir.
  • Eşleme bir uzantı aracılığıyla uygulanıyorsa uzantı yalnızca USB bağlantı noktalarına erişebilmelidir. İçerik komut dosyalarına açıkça izin verilmez.

Donanım yazılımı ve bağlayıcı

  • Kulaklık, doğru ses arayüzü (0x01) tanımlayıcısıyla ses sistemi olarak beyan edilmelidir.
    • Hem giriş hem de çıkış terminali için karşılık gelen bir tanımlayıcı olmalıdır.
  • Düğmesi varsa HID olarak beyan edilmesi gerekir.
  • Kulaklık, WWCB Donanım Yazılımı ve Bağlayıcı şartlarını karşılamalıdır.

Yazılım

Biçim

Lütfen Ses Biçimi'ne bakın.

Cihazda hem giriş hem de çıkış Ses Arayüzü Tanımlayıcısı olmalıdır.

  • Ses Arayüzü Tanımlayıcısı örneği

    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      2 Streaming
      bInterfaceProtocol      0
      iInterface              0
    

Giriş ve çıkışın örnek hızları farklıysa cihaz, aynı anda farklı örnek hızlarında oynatma ve yakalamayı destekleyebilmelidir. Aksi takdirde, cihaz AudioStreaming Interface Descriptor -> tSamFreq içinde aynı değeri yansıtmalıdır.

  • 48k USB ses çıkışı örnek hızı örneği

    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 ses girişi örnek hızı örneği

    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 Kodları

  • Her HID etkinliği için yalnızca bir etkinlik iletilebilir.
  • Düğmeye basıldığında doğru etkinlik kodu ve ilgili etkinlik kodu alınmalıdır.
    • Örneğin, sesi yükseltin. evtest yalnızca bir sesi artırma etkinliğini gözlemleyebilir ve kod şu şekilde olmalıdır: KEY_VOLUME_UP.
  • Aşağıdaki işlevleri sağlamak için tasarlanmış bir arayüz varsa USB çevre birimi, USB.org HID spesifikasyonuna göre ilgili HID etkinliklerini yaymayı veya almayı desteklemelidir.
Tüketici Sayfası (0x0c)
Anahtar Adı HID kullanım kimliği Kullanım Türü
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
Telephony Page (0x0b)
Anahtar Adı HID kullanım kimliği Kullanım Türü
Hook Switch 0x20 OOC
Ringer 0x9e OOC
LED Sayfası (0x08)
Anahtar Adı HID kullanım kimliği Kullanım Türü
Sesi kapat 0x09 OOC
Off-Hook 0x17 OOC
Ring 0x18 OOC

Jak Algılama

USB Audio Class'ı (UAC) desteklemeyen USB cihazlar, ChromeOS sistem tepsisinde her zaman bir çıkış düğümü gösterir. Ancak USB cihazı UAC'yi destekliyorsa cihaz takıldığında sistem 3,5 mm'lik ses jakını doğru şekilde algılayabilir.

  • CrOS, 3,5 mm jaklar için evde bulunma algılama özelliğini kullanmalıdır.
    • Aşağıdakilerden biri aracılığıyla ekleme algılama işlemi gerçekleştirilmelidir:

Genel Bluetooth Gereksinimleri

ChromeOS Compatible - Bluetooth Specification (ChromeOS Uyumlu - Bluetooth Özellikleri) başlıklı makaleyi inceleyin.

Ses biçimi

Oynatma Kayıt
Örnek hızı ≥ 16 kHz ≥ 16 kHz
Biçim S16_LE S16_LE
  • Kanal numarası ve yapılandırma doğru olmalıdır.
  • Kulaklığın desteklediğini belirttiği tüm örnekleme hızları doğru şekilde çalışmalıdır.
    • Ölçülen oran ile örnekleme oranı arasındaki sapma ≤ %0,1 olmalıdır.
    • Ölçülen oranın doğrusal regresyonu için standart hata < 30 olmalıdır.
  • Kulaklık, desteklediğini iddia ettiği farklı örnekleme hızlarında oynatma veya yakalamayı desteklemelidir.

    Örneğin, 44,1 kHz'in altındaki sesleri çalarken 48 kHz'in altındaki sesleri aynı anda yakalayabilirsiniz.

    • Aksi takdirde, sistem tarafında engellemek için ChromeOS'in belirli bir yapılandırma dosyası eklemesi gerekir.

Ses Kalitesi

Capture Path - Mute

  • Kullanıcıların ses sistemini kapatabileceği bir arayüz varsa bu arayüz:
    • Aşağıdakilerden etkilenmeyecek şekilde sesi kapatma durumunu koruyun:
      • Cihazı açma ve kapatma
      • Başka bir giriş cihazına geçiş yapma
  • Kullanıcı, kulaklıktaki veya ChromeOS'teki mikrofonu kapatma düğmesine bastığında sessize alma durumu değişmelidir.
  • Sessize alma durumu değişirse kulaklıktaki sessize alma durumu göstergesi (ör. LED) değişmelidir.

Ses Gecikmesi

Gecikme

  • Çıkış Gecikmesi
    • Ses oynatma, oynatmayı başlatan bir kullanıcı işleminden sonra ≤500 ms içinde başlamalıdır.
      • Cihaz OEM'si bu şartı karşılayamadığında yankı oluşmadığını kanıtlayabilirse muafiyet isteğinde bulunabilir.

A/V Senkronizasyonu

  • Ses oynatma, video oynatmayla senkronize edilmelidir. Ses oynatma, videodan ≤25 ms önce veya ≤95 ms sonra başlayabilir.

Düzeltme Geçmişi

Tarih Sürüm Notlar
2024-09-06 1.3 ChromeOS uyumlu spesifikasyon türetildi. İlk iş ortağı sitesi yayını.
14.09.2022 1,2 1.2 sürümüne güncellendi.
2022-08-19 1.1 v1.1 sürümüne güncellendi.
2022-08-18 1.0 İlgili WWCB spesifikasyonu oluşturuldu.