Kompatibel dengan ChromeOS - Spesifikasi Mikrofon Speaker v1.3

Versi: 1.3
Terakhir diperbarui: 06-09-2024

Legend

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

Ringkasan

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

USB

Keamanan

Dongle Nirkabel 2,4 GHz

  • Perangkat nirkabel 2,4 GHz hanya dipasangkan secara otomatis dengan penerima (dongle) yang disertakan dalam kotak.
  • Tindakan pengguna (baik di perangkat atau melalui aplikasi) diperlukan untuk menyambungkan headset dengan penerima lain atau menyambungkan headset 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 diimplementasikan melalui ekstensi, ekstensi hanya boleh memiliki akses ke port USB. Skrip konten tidak diizinkan secara eksplisit.

Firmware dan Konektor

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

Software

Format

Lihat Format Audio.

Untuk perangkat yang memiliki Deskriptor Antarmuka Audio input dan output.

  • Contoh Deskriptor 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 dapat mendukung pemutaran dan pengambilan pada frekuensi sampel yang berbeda secara bersamaan. Jika tidak, perangkat harus mencerminkan nilai yang sama di Deskriptor Antarmuka 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,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, hanya satu peristiwa yang dapat dikirimkan dalam satu waktu.
  • Kode peristiwa yang benar dan kode peristiwa yang sesuai harus diterima saat tombol ditekan.
    • Misalnya, naikkan volume. evtest hanya dapat mengamati satu peristiwa naikkan volume dan kodenya harus KEY_VOLUME_UP.
  • Jika ada antarmuka yang dirancang untuk menyediakan fungsi berikut, periferal USB harus mendukung pengiriman atau penerimaan peristiwa HID yang sesuai menurut 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
Tombol Panggilan 0x20 OOC
Pendering 0x9e OOC
Halaman LED (0x08)
Nama Kunci ID penggunaan HID Jenis Penggunaan
Bisukan 0x09 OOC
Tutup Telepon 0x17 OOC
Cincin 0x18 OOC

Deteksi Jack

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

  • CrOS Harus menggunakan deteksi kehadiran untuk colokan 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 channel harus benar.
  • Semua frekuensi sampling yang dinyatakan didukung oleh headset harus berfungsi dengan benar.
    • Penyimpangan antara laju yang diukur dan frekuensi pengambilan sampel harus ≤ 0,1% .
    • Kesalahan standar untuk regresi linear dari rasio yang diukur harus < 30.
  • Headset harus mendukung pemutaran atau pengambilan data dengan berbagai frekuensi sampel yang diklaimnya didukung.

    Misalnya, memutar audio di bawah 44,1 kHz, tetapi merekam suara di bawah 48 kHz secara bersamaan.

    • Jika tidak, ChromeOS harus menambahkan file konfigurasi tertentu untuk mencegahnya di sisi sistem.

Kualitas Audio

Jalur Perekaman - Bisukan

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

Latensi Audio

Latensi

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

Sinkronisasi A/V

  • Pemutaran audio harus disinkronkan dengan pemutaran video. Pemutaran audio dapat mendahului video ≤25 md atau tertinggal dari video ≤95 md.

Histori Revisi

Tanggal Versi Catatan
2024-09-06 1.3 Spesifikasi Kompatibel dengan ChromeOS yang diperoleh. Publikasi Situs Partner Awal.
2022-09-14 1,2 Diperbarui ke v1.2.
2022-08-19 1.1 Diupdate ke v1.1.
2022-08-18 1.0 Spesifikasi WWCB terkait telah dibuat.