Kompatibel dengan ChromeOS - Spesifikasi Headset USB v1.2

Versi: 1.2.1
Terakhir diperbarui: 14-06-2024

Legenda

Kata Kerja Produk Tindakan Pengembangan
"HARUS" Persyaratan produk wajib
"HARUS" Rekomendasi opsional
"MEI" Opsional

Ringkasan

Dokumen ini menjelaskan persyaratan headset USB yang Kompatibel dengan ChromeOS akan bertemu Anda. Spesifikasi ini bukan untuk produk WWCB maupun produk yang dirancang dan disertifikasi bersama Chromebook.

USB

Keamanan

Dongle Nirkabel 2,4 GHz

  • Perangkat nirkabel 2,4 GHz hanya berpasangan otomatis dengan penerima (dongle) yang dilengkapi dengan kotaknya.
  • Tindakan pengguna (baik di perangkat maupun melalui aplikasi) diperlukan untuk menyambungkan headset dengan penerima lain atau memasangkan {i>headset<i} baru dengan penerima yang ada.
  • Jika aplikasi diperlukan untuk mengubah penyambungan headset/penerima, aplikasi harus berjalan di ChromeOS, seperti melalui ekstensi. Aplikasi ini juga dapat berupa aplikasi web yang menggunakan WebUSB/WebHID.
  • Jika penyambungan diterapkan melalui ekstensi, ekstensi hanya boleh memiliki akses ke porta USB. Skrip konten tidak diizinkan secara eksplisit.

Firmware dan Konektor

  • Headset harus dideklarasikan sebagai perangkat audio dengan antarmuka audio yang benar (0x01).
    • Harus ada satu deskriptor yang sesuai untuk input dan output terminal.
  • Jika memiliki tombol, elemen tersebut harus dideklarasikan sebagai HID.
  • Headset harus memenuhi Firmware dan Konektor WWCB persyaratan.

Software

Format

Silakan baca Format Audio.

Untuk perangkat memiliki Deskripsi Antarmuka Audio input dan output.

  • Contoh Deskripsi Antarmuka Audio

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

Jika frekuensi sampel input dan output berbeda, perangkat harus mendukung pemutaran dan menangkap dengan frekuensi sampel yang berbeda pada saat yang sama. Jika tidak, perangkat harus mencerminkan nilai yang sama dalam AudioStreaming Deskripsi Antarmuka -> tSamFreq.

  • Contoh frekuensi sampel output audio USB 48 ribu

    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
    
  • Contoh frekuensi sampel input audio USB 44,1 K

    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
    

Kode HID

  • Untuk setiap peristiwa HID, peristiwa ini hanya dapat mentransmisikan satu peristiwa sekali dalam satu waktu.
  • Kode peristiwa yang benar dan kode peristiwa terkait akan diterima saat tombol ditekan.
    • Misalnya, naikkan volume. pengujian hanya dapat mengamati satu peristiwa naik volume dan kodenya harus KEY_VOLUME_UP.
  • Jika ada antarmuka yang dirancang untuk menyediakan fungsi berikut, Periferal USB harus mendukung memancarkan atau menerima HID yang sesuai peristiwa menurut USB.org HID spesifikasi.
Halaman Konsumen (0x0c)
Nama Kunci ID penggunaan HID Jenis Penggunaan
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
Halaman Telepon (0x0b)
Nama Kunci ID penggunaan HID Jenis Penggunaan
Sakelar Kait 0x20 OOC
Pendering 0x9e OOC
Halaman LED (0x08)
Nama Kunci ID penggunaan HID Jenis Penggunaan
Bisukan 0x09 OOC
Offline 0x17 OOC
Deringkan 0x18 OOC

Deteksi Jack

Jika perangkat USB tidak mendukung USB Audio Class (UAC), perangkat akan selalu menampilkan node output di area notifikasi ChromeOS. Namun, jika perangkat USB mendukung UAC, sistem akan dapat mendeteksi colokan audio 3,5 mm dengan benar ketika perangkat dimasukkan.

  • CrOS Harus menggunakan deteksi kehadiran untuk colokan 3,5 mm
    • Harus melakukan deteksi penyisipan melalui salah satu dari:

Format Audio

Pemutaran Merekam
Frekuensi sampel ≥ 16 kHz ≥ 16 kHz
Format S16_LE S16_LE
  • Nomor saluran dan konfigurasi harus benar.
  • Semua frekuensi pengambilan sampel yang dideklarasikan headset sebagai didukung harus berfungsi dengan benar.
    • Penyimpangan antara frekuensi yang diukur dan frekuensi pengambilan sampel harus ≤ 0,1% .
    • Kesalahan standar untuk regresi linear laju yang diukur harus < 30.
  • Headset harus mendukung pemutaran atau merekam dengan frekuensi sampel yang berbeda. yang akan didukung.

    Misalnya, putar audio di bawah 44,1 kHz tetapi tangkap suara di bawah 48 kHz secara bersamaan.

    • Jika tidak, ChromeOS perlu menambahkan file konfigurasi tertentu ke mencegahnya di sisi sistem.

Kualitas Audio

Ambil Jalur - Bisukan

  • Jika ada antarmuka bagi pengguna untuk membisukan perangkat audio, antarmuka itu harus
    • Mempertahankan status bisukan dengan cara yang tidak terpengaruh oleh:
      • Membuka dan menutup perangkat.
      • Beralih ke perangkat input lain.
  • Jika pengguna menekan tombol bisukan pada headset atau ChromeOS, status bisukan harus diubah.
  • Jika status bisukan berubah, indikator status bisukan (misalnya:LED) di headset harus diubah.

Latensi Audio

Latensi

  • Latensi Output
    • Pemutaran audio harus dimulai ≤500 md setelah tindakan pengguna yang memulai pemutaran.
      • Dapat meminta peniadaan jika OEM perangkat dapat membuktikan bahwa tidak ada gema diperkenalkan jika persyaratan ini gagal.

Sinkronisasi A/V

  • Pemutaran audio harus disinkronkan dengan pemutaran video. Pemutaran audio dapat mengawali video dengan ≤25 md atau mengurangi video dengan ≤95 md.

Histori Revisi

Tanggal Versi Catatan
2024-06-14 1.2.1 Mendapatkan spesifikasi yang Kompatibel dengan ChromeOS. Publikasi Situs Partner Awal.
2022-09-01 1,2 Spesifikasi WWCB terkait v1.2
2022-06-06 1.1 Spesifikasi WWCB terkait v1.1
2020-09-21 1.0 Spesifikasi WWCB terkait telah dibuat.