Controlli degli hearable

I controlli degli hearable nell'accoppiamento rapido mirano a fornire un migliore controllo dell'accesso per le funzionalità importanti degli hearable su Android. A questo scopo, è stato aggiunto un nuovo gruppo di messaggi Hearable controlli all'interno di Flusso di messaggi.

Nome del gruppo di messaggi Valore
Controllo degli hearable 0x08

Controllo attivo del rumore

Il controllo attivo del rumore sta diventando una funzionalità di spicco per le cuffie premium. Sul lato del richiedente, l'accoppiamento rapido avrà l'interfaccia utente e la logica per impostare, ottenere e salvare lo stato, che verrà memorizzato sul lato del fornitore. È obbligatorio che il fornitore invii Session Nonce quando lo stream di eventi è connesso. Per raggiungere questo obiettivo, sono definiti i seguenti codici di messaggio:

Nome del codice del messaggio Valore Mittente Intervistato MAC ACK
Recupera lo stato ANC 0x11 Seeker Provider No No
Impostare lo stato ANC 0x12 Seeker Provider Y Y
Notifica lo stato dell'ANC 0x13 Provider Seeker No No

Quando un richiedente si connette a un fornitore o quando un fornitore riceve un messaggio "Get ANC state", il fornitore può notificare lo stato ANC per comunicare al richiedente la sua funzionalità ANC e il suo stato memorizzato. Il messaggio è il seguente:

Byte Tipo di dati Descrizione Valore
0 uint8 Controllo degli hearable 0x08
1 uint8 Notifica lo stato dell'ANC 0x13
2 - 3 uint16 Lunghezza dati aggiuntiva 0x04
4 - 7 Dati di controllo ANC varia
Dati di controllo ANC
Byte Tipo di dati Descrizione Valore
0 uint8 Codice versione varia, 0x02 per questa versione
1 Bandiere Attivazione/disattivazione dell'interfaccia utente
Ogni modalità è attivata (1) o disattivata (0) in base al valore del relativo bit di flag, come segue:
Bit 0 (MSB): trasparente
Bit 1: adattiva (o 0 se non è supportata)
Bit 2: disattivata
Bit 3: riservato (imposta il bit su 0)
Bit 4: ANC
varia
2 Bandiere Attivazione/disattivazione impostabile
È possibile impostare qui uno o tutti i bit di attivazione/disattivazione della UI riportati sopra per indicare quali sono attualmente attivi.
varia
3 Bandiere Stato attuale
Può essere impostato un solo bit e il valore di questo byte deve essere diverso da zero.
varia

Il cercatore mostrerà l'interfaccia utente del pulsante di attivazione/disattivazione in base ai dati di controllo ANC.

Esempio 1: il fornitore supporta l'ANC a tre vie: trasparente - off - ANC e gli auricolari sono indossati, tutte le modalità sono ora impostabili e lo stato attuale è off:

Byte Tipo di dati Descrizione Valore
0 uint8 Codice versione 0x01
1 Bandiere Pulsanti di attivazione/disattivazione della UI 0b10101000
2 Bandiere Attivazione/disattivazione configurabile 0b10101000
3 Bandiere Stato attuale 0b00100000

Esempio 2: il fornitore supporta l'ANC a tre vie: trasparente - disattivata - ANC, solo un auricolare è indossato o nessuno è indossato, quindi non è possibile impostare modalità e lo stato attuale è disattivato:

Byte Tipo di dati Descrizione Valore
0 uint8 Codice versione 0x01
1 Bandiere Attiva/disattiva l'interfaccia utente 0b10101000
2 Bandiere Pulsante di attivazione/disattivazione configurabile 0b00000000
3 Bandiere Stato attuale 0b00100000

Se l'utente attiva/disattiva il pulsante, il richiedente imposterà lo stato attuale del fornitore come segue:

Byte Tipo di dati Descrizione Valore
0 uint8 Controllo degli hearable 0x08
1 uint8 Impostare lo stato ANC 0x12
2 - 3 uint16 Lunghezza dati aggiuntiva varia, 0x04 o 0x14
4 uint8 Codice versione Seeker varia, 0x01 o 0x02
5 Bandiere Modalità ANC impostabili (attivazione/disattivazione nell'interfaccia utente) varia
6 Bandiere Modalità ANC attive (opzione attivabile) varia
7 Bandiere Nuovo indice della modalità ANC (nuovo stato) varia
8 - 23 Prenotato varia

I byte da 4 a 7 sono in realtà dati di controllo ANC inviati dal lato del cercatore. Se il valore della lunghezza aggiuntiva è impostato su 0x14, i byte riservati 8-23 saranno presenti e, al ricevimento di questi byte, il fornitore dovrà ignorarli. Se il valore della lunghezza aggiuntiva è impostato su 0x04, non sono presenti byte riservati.

Quando un fornitore riceve un messaggio "Imposta stato ANC", deve confermare la ricezione e comunicare lo stato ANC a tutti i richiedenti connessi. Se l'utente modifica l'impostazione tramite il gesto delle cuffie o l'applicazione complementare, il fornitore deve inviare una notifica anche a tutti i richiedenti connessi.

Esempio 3: il fornitore supporta l'ANC a 4 vie: trasparente - adattiva - off - ANC, gli auricolari sono indossati, tutte le modalità sono impostabili ora e lo stato attuale è adattivo:

Byte Tipo di dati Descrizione Valore
0 uint8 Codice versione 0x01
1 Bandiere Attiva/disattiva l'interfaccia utente 0b11101000
2 Bandiere Pulsante di attivazione/disattivazione configurabile 0b11101000
3 Bandiere Stato attuale 0b01000000