Controlli udibili

I controlli dell'udito sulla funzionalità di accoppiamento rapido mirano a fornire migliori controlli dell'accesso per importanti funzionalità di Hearable su Android. A questo scopo, è stato aggiunto un nuovo gruppo di controlli Hearable all'interno dello Stream di messaggi.

Nome gruppo di messaggi Valore
Controllo audio 0x08

Controllo attivo del rumore

Il controllo attivo del rumore sta diventando una funzionalità importante per le cuffie premium. Sul lato cercante, l'accoppiamento rapido avrà l'interfaccia utente e la logica da impostare, recuperare e salvare lo stato, che verrà archiviato sul lato provider. È obbligatorio che il provider invii un Nonce della sessione quando è connesso lo stream di eventi. A questo scopo, vengono definiti i seguenti codici messaggio:

Nome codice messaggio Valore Mittente Intervistato MAC ACK
Attiva stato ANC 0x11 In cerca Provider N N
Imposta stato ANC 0x12 In cerca Provider
Invia notifica stato ANC 0x13 Provider In cerca N N

Quando un Seeker si connette a un provider o quando un provider riceve un messaggio "Ottieni stato ANC", il provider può inviare una notifica allo stato di ANC per comunicare al richiedente le sue funzionalità ANC e il suo stato di archiviazione. Il messaggio è il seguente:

Byte Tipo di dati Descrizione Valore
0 uint8 Controllo audio 0x08
1 uint8 Invia notifica stato ANC 0x13
2 - 3 uint16 Lunghezza dei dati aggiuntivi 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 Opzioni di attivazione/disattivazione nell'interfaccia utente
Ogni modalità è abilitata (1) o disabilitata (0) a seconda del valore del bit del flag corrispondente, come segue:
Bit 0 (MSB): trasparente
Bit 1: riservato (set di bit su 0)
Bit 2: off
Bit 3: riservato (set di bit su 0)
Bit 4: ANC
varia
2 Bandiere Opzioni di attivazione/disattivazione impostabili
Tutti i bit di attivazione/disattivazione dell'interfaccia utente precedenti possono essere impostati qui, per indicare quali sono attualmente abilitati.
varia
3 Bandiere Stato attuale
È possibile impostare un solo bit
varia

Seeker mostrerà l'UI di attivazione/disattivazione in base ai dati di controllo di ANC.

Esempio 1: il provider supporta la cancellazione attiva del rumore a tre vie: trasparente - off - ANC e gli auricolari sono attivi, tutte le modalità sono ora configurabili e lo stato corrente è disattivato:

Byte Tipo di dati Descrizione Valore
0 uint8 Codice versione 0x01
1 Bandiere Opzioni di attivazione/disattivazione dell'interfaccia utente 0b10101000
2 Bandiere Pulsante di attivazione/disattivazione impostabile 0b10101000
3 Bandiere Stato attuale 0b00100000

Esempio 2: il provider supporta la cancellazione attiva del rumore a tre vie: trasparente - off - ANC, solo un auricolare è in testa al momento o nessun auricolare è in testa, quindi nessuna modalità è configurabile e lo stato attuale è disattivato:

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

Se l'utente attiva/disattiva l'opzione, il richiedente imposta lo stato corrente sul provider come segue:

Byte Tipo di dati Descrizione Valore
0 uint8 Controllo audio 0x08
1 uint8 Imposta stato ANC 0x12
2 - 3 uint16 Lunghezza dei dati aggiuntivi varia, 0x04 o 0x14
4 uint8 Codice versione del richiedente varia, 0x01 o 0x02
5 Bandiere Modalità impostabili di ANC (opzione di attivazione/disattivazione dell'interfaccia utente) varia
6 Bandiere Modalità attive di ANC (opzione di attivazione/disattivazione impostabile) varia
7 Bandiere Nuovo indice della modalità ANC (nuovo stato) varia
8 - 23 Riservata varia

Il byte 4-7 è in realtà dati di controllo ANC inviati dal lato Seeker. Se il valore di lunghezza aggiuntiva è impostato su 0x14, saranno presenti i byte riservati 8-23 e, una volta ricevuti questi byte, il provider dovrebbe ignorarli. Se il valore di lunghezza aggiuntiva è impostato su 0x04, non sono presenti byte riservati.

Quando un provider riceve un messaggio "Imposta stato ANC", deve Acknowledge e inviare una notifica allo stato di ANC a tutti i cercatori connessi. Se l'utente cambia l'impostazione tramite il gesto delle cuffie o un'applicazione complementare, il provider deve anche inviare una notifica a tutti i Seeker connessi.