Kontrol Hearable

Kontrol perangkat dengar di Sambungan Cepat bertujuan untuk memberikan kontrol akses yang lebih baik untuk fitur Perangkat dengar yang penting di Android. Grup pesan baru Kontrol alat bantu dengar di dalam Aliran Pesan telah ditambahkan untuk mencapai hal ini.

Nama Grup Pesan Nilai
Kontrol perangkat audio 0x08

Kontrol bising aktif

Kontrol bising aktif menjadi fitur penting untuk headphone premium. Di sisi Seeker, Sambungan Cepat akan memiliki UI dan logika untuk menyetel, mendapatkan, dan menyimpan status, dan status akan disimpan di sisi Penyedia. Penyedia wajib mengirim Nonce Sesi saat aliran peristiwa terhubung. Untuk melakukannya, kode pesan di bawah ditentukan:

Nama Kode Pesan Nilai Pengirim Responden MAC ACK
Mendapatkan status ANC 0x11 Pencari Penyedia T T
Menetapkan status ANC 0x12 Pencari Penyedia Y Y
Memberi tahu status ANC 0x13 Penyedia Pencari T T

Saat Pencari terhubung ke Penyedia, atau saat Penyedia menerima pesan "Dapatkan status ANC", Penyedia dapat Memberi tahu status ANC untuk memberi tahu Pencari tentang kemampuan ANC dan status tersimpannya. Pesan tersebut adalah sebagai berikut:

Byte Jenis Data Deskripsi Nilai
0 uint8 Kontrol perangkat audio 0x08
1 uint8 Memberi tahu status ANC 0x13
2 - 3 uint16 Panjang data tambahan 0x04
4 - 7 Data kontrol ANC berbeda-beda
Data kontrol ANC
Byte Jenis Data Deskripsi Nilai
0 uint8 Kode versi bervariasi, 0x02 untuk versi ini
1 Tanda Tombol UI
Setiap mode diaktifkan (1) atau dinonaktifkan (0) sesuai dengan nilai bit tanda, sebagai berikut:
Bit 0 (MSB): transparan
Bit 1: adaptif (atau 0 jika tidak didukung)
Bit 2: nonaktif
Bit 3: Dicadangkan (Setel bit ke 0)
Bit 4: ANC
berbeda-beda
2 Tanda Tombol yang dapat disetel
Setiap atau semua bit tombol UI di atas juga dapat disetel di sini, untuk menunjukkan mana yang saat ini diaktifkan.
berbeda-beda
3 Tanda Status saat ini
Hanya satu bit yang dapat ditetapkan dan nilai byte ini tidak boleh nol.
berbeda-beda

Seeker akan menampilkan UI tombol sesuai dengan data kontrol ANC.

Contoh 1: Penyedia mendukung ANC 3 arah: transparan - nonaktif - ANC & earbud dipakai di kepala, semua mode kini dapat disetel, dan status saat ini adalah nonaktif:

Byte Jenis Data Deskripsi Nilai
0 uint8 Kode versi 0x01
1 Tanda Tombol UI 0b10101000
2 Tanda Tombol yang dapat disetel 0b10101000
3 Tanda Status saat ini 0b00100000

Contoh 2: Penyedia mendukung ANC 3 arah: transparan - nonaktif - ANC, hanya satu earbud yang terpasang di kepala atau tidak ada earbud yang terpasang di kepala, sehingga tidak ada mode yang dapat disetel, dan status saat ini adalah nonaktif:

Byte Jenis Data Deskripsi Nilai
0 uint8 Kode versi 0x01
1 Tanda Tombol UI 0b10101000
2 Tanda Tombol yang dapat disetel 0b00000000
3 Tanda Status saat ini 0b00100000

Jika pengguna mengalihkan tombol, Seeker akan menyetel status saat ini ke Provider sebagai berikut:

Byte Jenis Data Deskripsi Nilai
0 uint8 Kontrol perangkat audio 0x08
1 uint8 Menetapkan status ANC 0x12
2 - 3 uint16 Panjang data tambahan bervariasi, 0x04 atau 0x14
4 uint8 Kode Versi Seeker bervariasi, 0x01 atau 0x02
5 Tanda Mode yang Dapat Disetel ANC (tombol UI) berbeda-beda
6 Tanda Mode ANC Diaktifkan (Tombol yang dapat disetel) berbeda-beda
7 Tanda Indeks mode ANC baru (Status baru) berbeda-beda
8 - 23 Direservasi berbeda-beda

Byte 4 - 7 sebenarnya adalah data kontrol ANC yang dikirim dari sisi Seeker. Jika nilai panjang tambahan ditetapkan sebagai 0x14, byte yang dicadangkan 8-23 akan ada dan saat menerima byte ini, penyedia harus mengabaikannya. Jika nilai panjang tambahan ditetapkan sebagai 0x04, tidak ada byte yang dicadangkan.

Saat menerima pesan "Setel status ANC", Penyedia harus Mengonfirmasi, dan Memberi tahu status ANC kepada semua Pencari yang terhubung. Jika pengguna mengubah setelan melalui gestur headset atau aplikasi pendamping, Penyedia juga harus mengirimkan notifikasi ke semua Pencari yang terhubung.

Contoh 3: Penyedia mendukung ANC 4 arah: transparan - adaptif - nonaktif - ANC, earbud terpasang di kepala, semua mode kini dapat disetel, dan status saat ini adalah adaptif:

Byte Jenis Data Deskripsi Nilai
0 uint8 Kode versi 0x01
1 Tanda Tombol UI 0b11101000
2 Tanda Tombol yang dapat disetel 0b11101000
3 Tanda Status saat ini 0b01000000