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.
- USB Ses Sınıfı (UAC) terminal türünün bildirilmesi önerilir.
- Kulaklık (0x0402)
- SpeakerPhone (0x0403-0x0405) .
- USB Ses Sınıfı (UAC) terminal türünün bildirilmesi önerilir.
- 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 Data44,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.
- Örneğin, sesi yükseltin.
evtest
yalnızca bir sesi artırma etkinliğini gözlemleyebilir ve kod şu şekilde olmalıdır:
- 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.
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
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.
- Ses oynatma, oynatmayı başlatan bir kullanıcı işleminden sonra ≤500 ms içinde başlamalıdır.
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. |