Kontrol Hearable

Kontrol Hearable di Sambungan Cepat bertujuan untuk memberikan kontrol akses yang lebih baik untuk fitur Hearable penting di Android. Kontrol Hearable grup pesan baru di dalam Message Stream telah ditambahkan untuk mencapai hal ini.

Nama Grup Pesan Nilai
Kontrol perangkat wearable 0x08

Kontrol bising aktif

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

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

Saat Pencari terhubung ke Penyedia, atau saat Penyedia menerima pesan "Get ANC status", Penyedia dapat Memberi tahu status ANC untuk memberi tahu Pencari tentang kemampuan ANC dan status yang disimpan. Pesannya adalah sebagai berikut:

Byte Jenis Data Deskripsi Nilai
0 uint8 Kontrol Hearable 0x08
1 uint8 Memberi tahu status ANC 0x13
2 - 3 uint16 Panjang data tambahan 0x04
4 - 7 Data kontrol ANC bervariasi
Data kontrol ANC
Byte Jenis Data Deskripsi Nilai
0 uint8 Kode versi bervariasi,0x02 untuk versi ini
1 Flag Tombol UI
Setiap mode diaktifkan (1) atau dinonaktifkan (0) sesuai dengan nilai bit flag-nya, sebagai berikut:
Bit 0 (MSB): transparan
Bit 1: Direservasi (Tetapkan bit ke 0)
Bit 2: nonaktif
Bit 3: Direservasi (Tetapkan bit ke 0)
Bit 4: ANC
bervariasi
2 Flag Tombol yang dapat ditetapkan
Mana pun atau semua bit tombol UI di atas juga dapat ditetapkan di sini, untuk menunjukkan tombol mana yang saat ini diaktifkan.
bervariasi
3 Flag Status saat ini
Hanya satu bit yang dapat ditetapkan dan nilai byte ini tidak boleh nol.
bervariasi

Pencari akan menampilkan UI tombol sesuai dengan data kontrol ANC.

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

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

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

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

Jika pengguna mengalihkan tombol, Pencari akan menetapkan status saat ini ke Penyedia sebagai berikut:

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

Byte 4 - 7 sebenarnya adalah data kontrol ANC yang dikirim dari sisi Pencari. 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 "Set ANC state", Penyedia harus Mengonfirmasi, dan Memberi tahu status ANC ke semua Pencari yang terhubung. Jika pengguna mengubah setelan melalui gestur headset atau aplikasi pendamping, Penyedia juga harus mengirim notifikasi ke semua Pencari yang terhubung.