Controles de aparelhos auditivos
O objetivo dos controles de wearables no Par rápido é oferecer melhores controles de acesso para recursos importantes de wearables no Android. Um novo grupo de controles de mensagem do Hearable foi adicionado ao fluxo de mensagens para conseguir isso.
Nome do grupo de mensagens | Valor |
---|---|
Controle do aparelho auditivo | 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 solicitante, o Fast Pair terá a interface e a lógica para definir, receber e salvar o estado, que será armazenado no lado do provedor. É obrigatório que o provedor envie o Nonce da sessão quando o fluxo de eventos estiver conectado. Para fazer isso, os códigos de mensagem abaixo são definidos:
Nome do código da mensagem | Valor | Remetente | Participante | MAC | CONF |
---|---|---|---|---|---|
Receber o estado do ANC | 0x11 | Seeker | Provedor | N | N |
Definir o estado do ANC | 0x12 | Seeker | Provedor | S | S |
Notificar o estado do cancelamento de ruído ativo | 0x13 | Provedor | Seeker | N | N |
Quando um buscador se conecta a um provedor ou quando um provedor recebe uma mensagem "Receber estado de ANC", o provedor pode notificar o estado de ANC para informar ao buscador o recurso de ANC e o estado armazenado. A mensagem é a seguinte:
Byte | Tipo de dados | Descrição | Valor |
---|---|---|---|
0 | uint8 | Controle do aparelho auditivo | 0x08 |
1 | uint8 | Notificar o estado do cancelamento de ruído ativo | 0x13 |
2 a 3 | uint16 | Duração dos dados adicionais | 0x04 |
4 - 7 | Dados de controle do ANC | varia |
Dados de controle do cancelamento ativo de ruído
Byte | Tipo de dados | Descrição | Valor |
---|---|---|---|
0 | uint8 | Código da versão | varia,0x02 para esta versão |
1 | Sinalizações | Alternar a interface Cada modo é ativado (1) ou desativado (0) de acordo com o valor do bit de sinalizador, conforme segue: Bit 0 (MSB): transparente Bit 1: reservado (definir o bit como 0) Bit 2: desativado Bit 3: reservado (definir o bit como 0) Bit 4: ANC |
varia |
2 | Sinalizações | Botões de alternância configuráveis Todos ou alguns dos bits de alternância da IU acima também podem ser definidos aqui para indicar quais estão ativados. |
varia |
3 | Sinalizações | Estado atual Somente 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 cancelamento de ruído ativo de três vias: transparente - desativado - cancelamento de ruído ativo e fones de ouvido, todos os modos podem ser definidos agora, e o estado atual está desativado:
Byte | Tipo de dados | Descrição | Valor |
---|---|---|---|
0 | uint8 | Código da versão | 0x01 |
1 | Sinalizações | Botões de ativar/desativar na interface | 0b10101000 |
2 | Sinalizações | Alternar definições | 0b10101000 |
3 | Sinalizações | Estado atual | 0b00100000 |
Exemplo 2: o provedor oferece suporte ao cancelamento de ruído de três vias: som ambiente - desligado - cancelamento de ruído. Apenas um fone está no ouvido agora ou nenhum está no ouvido. Portanto, nenhum modo pode ser definido, e o estado atual está desativado:
Byte | Tipo de dados | Descrição | Valor |
---|---|---|---|
0 | uint8 | Código da versão | 0x01 |
1 | Sinalizações | Botão de alternância da interface | 0b10101000 |
2 | Sinalizações | Alternar definições | 0b00000000 |
3 | Sinalizações | Estado atual | 0b00100000 |
Se o usuário mudar a posição do botão, o Seeker vai definir o estado atual para o provedor da seguinte maneira:
Byte | Tipo de dados | Descrição | Valor |
---|---|---|---|
0 | uint8 | Controle do aparelho auditivo | 0x08 |
1 | uint8 | Definir o estado do ANC | 0x12 |
2 a 3 | uint16 | Duração dos dados adicionais | varia, 0x04 ou 0x14 |
4 | uint8 | Código da versão do Seeker | varia, 0x01 ou 0x02 |
5 | Sinalizações | Modos configuráveis de cancelamento de ruído (alternador da interface) | varia |
6 | Sinalizações | Modos com cancelamento de ruído ativado (chave de ativação configurável) | varia |
7 | Sinalizações | Novo índice do modo ANC (novo estado) | varia |
8 a 23 | Reservado | varia |
Os bytes 4 a 7 são na verdade dados de controle de ANC enviados pelo Seeker. Se o valor de comprimento adicional for definido como 0x14, os bytes reservados 8 a 23 estarão presentes e, ao receber esses bytes, o provedor os ignorará. 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 para todos os Seekers conectados. Se o usuário mudar a configuração por gesto do fone de ouvido ou pelo aplicativo complementar, o provedor também precisará enviar uma notificação para todos os Seekers conectados.