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 |