Kompatibel dengan ChromeOS - Spesifikasi Mikrofon Speaker v1.3

Versi: 1.3
Terakhir diperbarui: 06-09-2024

Legenda

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

Ringkasan

Dokumen ini menjelaskan persyaratan yang dipenuhi speaker-mic USB+Bluetooth yang Kompatibel dengan ChromeOS. Spesifikasi ini bukan untuk produk WWCB, atau untuk produk yang dirancang dan disertifikasi bersama dengan Chromebook.

USB

Keamanan

Dongle Nirkabel 2,4 GHz

  • Perangkat nirkabel 2,4 GHz hanya akan otomatis terhubung dengan penerima (dongle) yang disertakan dalam kotak.
  • 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 juga dapat berupa aplikasi web yang menggunakan WebUSB/WebHID.
  • Jika penyambungan diterapkan melalui ekstensi, ekstensi tersebut hanya harus memiliki akses ke port USB. Skrip konten secara eksplisit tidak diizinkan.

Firmware dan Konektor

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

Software

Format

Lihat Format Audio.

Untuk perangkat yang 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 di Deskripsi Interface AudioStreaming -> tSamFreq.

  • Contoh frekuensi sampel output audio 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
    
  • Contoh frekuensi sampel input audio 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
    

Kode HID

  • Untuk setiap peristiwa HID, peristiwa tersebut hanya dapat mengirimkan satu peristiwa satu kali.
  • Kode peristiwa yang benar dan kode peristiwa yang sesuai akan diterima saat tombol ditekan.
    • Misalnya, naikkan volume. evtest 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 emisi atau penerimaan peristiwa HID yang sesuai sesuai dengan spesifikasi HID USB.org.
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 jack 3,5 mm
    • Harus melakukan deteksi penyisipan melalui salah satu dari:

Persyaratan Bluetooth Umum

Lihat Kompatibel dengan ChromeOS - Spesifikasi Bluetooth.

Format Audio

Pemutaran Merekam
Frekuensi sampel ≥ 16 kHz ≥ 16 kHz
Format S16_LE S16_LE
  • Nomor dan konfigurasi saluran harus benar.
  • Semua frekuensi sampling yang dinyatakan didukung oleh headset 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 perekaman dengan frekuensi sampel yang berbeda yang diklaim 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 tersebut harus
    • Mempertahankan status bisukan dengan cara yang tidak terpengaruh oleh:
      • Membuka dan menutup perangkat.
      • Beralih ke perangkat input lain.
  • Jika pengguna menekan tombol bisukan di headset atau ChromeOS, status bisukan harus berubah.
  • Jika status bisukan berubah, indikator status bisukan (misalnya: LED) di headset harus berubah.

Latensi Audio

Latensi

  • Latensi Output
    • Pemutaran audio harus dimulai ≤500 milidetik setelah tindakan pengguna yang memulai pemutaran.
      • Dapat meminta pengecualian jika OEM perangkat dapat membuktikan bahwa tidak ada gema yang muncul saat gagal memenuhi persyaratan ini.

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-09-06 1,3 Spesifikasi yang Kompatibel dengan ChromeOS diturunkan. Publikasi Situs Partner Awal.
2022-09-14 1,2 Update ke v1.2.
2022-08-19 1.1 Update ke v1.1.
2022-08-18 1.0 Spesifikasi WWCB terkait dibuat.