Controles de aparelhos auditivos

Os controles de dispositivos auditivos no Fast Pair têm como objetivo oferecer melhores controles de acesso para recursos importantes de dispositivos auditivos no Android. Um novo grupo de mensagens "Controles de Hearable" em Fluxo de mensagens foi adicionado para isso.

Nome do grupo de mensagens Valor
Controle de aparelhos auditivos 0x08

Controle ativo de ruído

O controle ativo de ruído está se tornando um recurso importante para fones de ouvido premium. No lado do Seeker, o Pareamento rápido terá a interface e a lógica para definir, receber e salvar o estado, que será armazenado no lado do Provider. É obrigatório que o provedor envie Session Nonce quando o fluxo de eventos estiver conectado. Para isso, os seguintes códigos de mensagem são definidos:

Nome do código da mensagem Valor Remetente Participante MAC CONF
Receber estado da ANC 0x11 Seeker Provedor N N
Definir estado do ANC 0x12 Seeker Provedor S S
Notificar o estado do ANC 0x13 Provedor Seeker N N

Quando um Seeker se conecta a um Provider ou quando um Provider recebe uma mensagem "Get ANC state", o Provider pode notificar o estado do ANC para informar ao Seeker a capacidade do ANC e o estado armazenado. A mensagem é a seguinte:

Byte Tipo de dados Descrição Valor
0 uint8 Controle de aparelhos auditivos 0x08
1 uint8 Notificar o estado do ANC 0x13
2 - 3 uint16 Duração adicional dos dados 0x04
4 - 7 Dados de controle da ANC varia
Dados de controle do ANC
Byte Tipo de dados Descrição Valor
0 uint8 Código da versão varies, 0x02 para esta versão
1 Sinalizações Alternâncias de interface
Cada modo é ativado (1) ou desativado (0) de acordo com o valor do bit de flag, da seguinte forma:
Bit 0 (MSB): transparente
Bit 1: adaptável (ou 0 se não for compatível)
Bit 2: desligado
Bit 3: reservado (defina o bit como 0)
Bit 4: ANC
varia
2 Sinalizações Alternâncias definíveis
Qualquer um ou todos os bits de alternância da interface acima também podem ser definidos aqui para indicar quais estão ativados no momento.
varia
3 Sinalizações Estado atual
Apenas um bit pode ser definido, e o valor desse byte não pode ser zero.
varia

O Seeker vai mostrar a interface de alternância de acordo com os dados de controle do ANC.

Exemplo 1: o provedor oferece suporte ao ANC de três vias: transparente - desligado - ANC e os fones de ouvido estão na cabeça, todos os modos podem ser definidos agora e o estado atual é desligado:

Byte Tipo de dados Descrição Valor
0 uint8 Código da versão 0x01
1 Sinalizações Botões ativar/desativar da interface 0b10101000
2 Sinalizações Alternâncias definíveis 0b10101000
3 Sinalizações Estado atual 0b00100000

Exemplo 2: o provedor é compatível com o cancelamento de ruído de três vias: transparente - desligado - cancelamento de ruído. Apenas um fone de ouvido está na cabeça ou nenhum está. Portanto, nenhum modo pode ser definido, e o estado atual é "desligado":

Byte Tipo de dados Descrição Valor
0 uint8 Código da versão 0x01
1 Sinalizações Alternância de interface 0b10101000
2 Sinalizações Alternância definível 0b00000000
3 Sinalizações Estado atual 0b00100000

Se o usuário mudar a chave, o Seeker vai definir o estado atual como o Provider da seguinte maneira:

Byte Tipo de dados Descrição Valor
0 uint8 Controle de aparelhos auditivos 0x08
1 uint8 Definir estado do ANC 0x12
2 - 3 uint16 Duração adicional dos dados varies, 0x04 ou 0x14
4 uint8 Código da versão do apresentador varies, 0x01 ou 0x02
5 Sinalizações Modos ajustáveis de cancelamento de ruído (alternância da interface) varia
6 Sinalizações Modos de ANC ativados (alternância configurável) varia
7 Sinalizações Novo índice de modo ANC (novo estado) varia
8 - 23 Reservado varia

Os bytes 4 a 7 são dados de controle de ANC enviados pelo lado do Seeker. Se o valor de comprimento adicional for definido como 0x14, os bytes reservados de 8 a 23 estarão presentes e, ao receber esses bytes, o provedor deverá ignorá-los. Se o valor de comprimento adicional for definido como 0x04, não haverá bytes reservados.

Quando um provedor recebe uma mensagem "Definir estado do ANC", ele precisa confirmar e notificar o estado do ANC a todos os buscadores conectados. Se o usuário mudar a configuração por um gesto do headset ou um aplicativo complementar, o provedor também precisa enviar uma notificação para todos os solicitantes conectados.

Exemplo 3: o provedor é compatível com o cancelamento de ruído de quatro maneiras: transparente, adaptativo, desativado e cancelamento de ruído. Os buds estão na cabeça, todos os modos podem ser definidos agora e o estado atual é adaptativo:

Byte Tipo de dados Descrição Valor
0 uint8 Código da versão 0x01
1 Sinalizações Alternância de interface 0b11101000
2 Sinalizações Alternância definível 0b11101000
3 Sinalizações Estado atual 0b01000000