Diretrizes de certificação da seleção de áudio

Preparação para a certificação

  • Preparar dispositivos de teste.
    • Você precisará de cinco dispositivos Android.
      • Esses dispositivos precisam incluir:
        • Pelo menos um Android T (13) e um Android V (15).
        • Pelo menos um dispositivo Samsung e um Pixel.
        • Por exemplo:
          • 1 OnePlus (Android 10).
          • 3 Samsung (Android 11, 12 e 13).
          • 1 Pixel (Android 15)
    • Um dispositivo sem seleção de áudio:
      • Qualquer iPhone, PC, laptop com Bluetooth (BT) ou smartphone Android qual seleção de áudio foi desativada.
        • Você pode desativar a seleção de áudio nos detalhes do dispositivo Bluetooth do ambiente.
      • O caso de teste de multiponto (MP) 2.8 precisa de um dispositivo sem seleção de áudio, além dos cinco smartphones de teste.
  • Participe do grupo de teste de chave de áudio com suas contas de teste para mostrar notificações de depuração nos smartphones de teste.

    • Isso também permite que o Google colete dados de teste usando o Google Analytics.

Clássico com A2DP+HFP

  • Verifique se todos os dispositivos Android têm a versão 23.xx.xx ou mais recente do GmsCore instalado.

BLE com LE Audio

  • Pelo menos dois dos telefones de referência devem ser compatíveis com LE Audio.
    • Por exemplo, um smartphone Samsung e um Pixel com suporte a LE Audio.
  • Confira se todos os dispositivos Android têm a versão 24.33.xx ou mais recente do GmsCore instalada.

Critérios de certificação

  • A taxa de sucesso da troca desejada precisa exceder 95% em todos os casos de teste.
  • Em testes que exigem uma troca, a conexão do perfil e o estado ativo da troca precisam ser concluídos em até três segundos após acionar eventos de áudio em pelo menos 75% dos casos.

Clássico com A2DP+HFP

Os autotestes precisam ser realizados nas seguintes combinações:

  • Smartphone A=Android S (12) + Smartphone B=Android T (13)
  • Smartphone A=Android T (13) + Smartphone B=Android S (12)

BLE com LE Audio

Os autotestes precisam ser realizados nas seguintes combinações:

  • Telefone A: BT Classic, Telefone B: BT Classic
  • Smartphone A: LE Audio, Smartphone B: BT Classic
  • Smartphone A: BT Classic, Smartphone B: LE Audio

Opcionalmente, os provedores que oferecem suporte a conexões Dual LE Audio precisam testar:

  • Telefone A: LE Audio, Telefone B: LE Audio

Guia de teste

Preparação do dispositivo em teste (DUT)

  • Verifique se o dispositivo Bluetooth não foi pareado anteriormente com nenhum smartphone conectado à Conta do Google de teste.
    • Se o dispositivo tiver sido pareado com a Conta do Google de teste, faça o seguinte para limpar o pareamento:
      • Nos dispositivos pareados:
        • Acesse as configurações de Bluetooth.
        • Escolha "Esquecer dispositivo".
        • Ative e desative o modo avião.
    • Verifique se a opção "Salvar dispositivos automaticamente" está ATIVADO.
      • Essa opção fica desativada por padrão.
      • Essa opção pode ser encontrada em Configurações > Google > Dispositivos > Dispositivos salvos (um por DUT).
    • Coloque o dispositivo Bluetooth no modo de pareamento.
    • Parear o dispositivo Bluetooth inicial (A).
    • Pareie dispositivos Bluetooth subsequentes com outros dispositivos (B, C, D etc.).

Escopo

  • Todos os fones de ouvido executam testes nas várias guias do modelo de autoteste do interruptor de áudio.
  • Os fones de ouvido que oferecem suporte apenas ao modo SinglePoint (SP) executam o seguinte:
    • A guia "Generic_test".
  • Os fones de ouvido que oferecem suporte ao modo MP executam o seguinte:
    • A guia Generic_test.
    • A guia Multipoint_only.
  • Os fones de ouvido MP que podem ser alternados para o modo SP executam o seguinte:
    • A guia Generic_test com o MP desativado.
    • A guia "Generic_test" com MP ativado.
    • A guia "Multipoint_only" com MP ativado.

Como concluir o autoteste e o relatório de autoteste

Classic com A2DP+HFP

  • O dispositivo B será o DUT principal.
    • Insira os detalhes do Dispositivo B no "Smartphone" e "SO" na parte superior o modelo.

Um exemplo de caso de teste:

  • Testar smartphones:

    • Dispositivo 1: Samsung (Android 13)
    • Dispositivo 2: Pixel (Android 12 ou 13) e outros.
  • Testes executados:

    • Execução 1. Dispositivo A=Samsung S10+ (12), Dispositivo B=Pixel 7 Pro (13) coluna D: Smartphone=Pixel 7 Pro, SO=Android 13
    • Execução 2. Dispositivo A = Pixel 7 Pro (13), Dispositivo B = Pixel 6 (12) Coluna E: Telefone = Pixel 6, SO = Android 12

Um exemplo de teste concluído no modelo de autoteste:

Esta imagem mostra os resultados de um exemplo de teste

BLE com LE Audio

  1. Dispositivo A=Android V (15) + Dispositivo B=Android T (13)
  2. Dispositivo A = Android T (13) + Dispositivo B = Android V (15)
  3. Dispositivo A=Android T (13) + Dispositivo B=Android S (12)
  4. Dispositivo A=Android T (15) + Dispositivo B=Android V (15)
  5. O dispositivo B vai ser o DUT principal.
    • Insira os detalhes do Dispositivo B nos campos "Phone" e "OS" na parte de cima do modelo.

Exemplo de caso de teste:

  • Testar smartphones:

    • Dispositivo 1: Samsung (Android 13)
    • Dispositivo 2: Pixel (Android 15) e outros.
  • Testes executados:

    • [LEA+BT]: Dispositivo A = Pixel 8 (15), Dispositivo B = Pixel 7 Pro (13) Coluna D: Smartphone = Pixel 7 Pro, SO = Android 13
    • [BT+LEA]: Dispositivo A = Pixel 7 (13), Dispositivo B = Pixel 8 (Android 15) coluna E: Smartphone = Pixel 8, SO = Android 15
    • [BT+BT]: Dispositivo A=Pixel 7 pro (13), Dispositivo B=Samsung S10+ (12) coluna E: Telefone=Samsung S10+, SO=Android 12
    • [LEA+LEA]: Dispositivo A = Pixel 8 (15), Dispositivo B = Pixel 8 (15) coluna E: Smartphone = Pixel 8, SO = Android 15

Exemplo de teste concluído no modelo de autoteste:

Esta imagem mostra os resultados de um exemplo de teste

Eventos de áudio:

  • Os quatro tipos de eventos de áudio testados e os apps de teste recomendados são:

    1. Ligação:
      1. O aplicativo de telefone integrado.
    2. VoIP: qualquer app VoIP funciona, como:
      1. App de teste de seleção de áudio.
      2. FB Messenger.
      3. Linha
      4. WhatsApp.
      5. Google Meet
      6. Google Meet
    3. Mídia: qualquer player de áudio funciona, como:
      1. App de teste de seleção de áudio.
      2. YouTube Music.
      3. Apple Music
      4. Spotify.
      5. Google Podcasts
    4. Jogo:
      1. App de teste de seleção de áudio.

Informações de depuração:

  • As notificações são ativadas após a adesão ao grupo fp-sass-partner-test. Veja alguns exemplos:

    • Notificação de estado mais recente:

    Figura 1: mostra a "notificação de estado mais recente" mensagem.

    • Nenhuma notificação de troca:

    Figura 2: isso mostra a "notificação de ausência de interruptor" mensagem.

    • Notificação de latência da troca:

    Figura 3: mostra a "notificação de latência da troca" mensagem.

Medição de latência

  • Há dois tipos de latência de switch:
    1. Conectar um perfil Bluetooth a um Seeker desconectado.
      • Isso inclui todos os casos de ponto único e alguns casos de MP em que o Seeker de destino (dispositivo B) está desconectado.
    2. Alternando o Seeker ativo conectado.
      • Isso inclui alguns casos de MP em que o Seeker de destino (dispositivo B) já está conectado.
  • Há duas maneiras de extrair informações de latência:
    1. Toda a latência pode ser despejada pelo comando adb.
      • Consulte a seção Latência de despejo para mais detalhes.
      • Esse comando pode fornecer e registrar a latência após a conclusão de pelo menos um caso de teste.
    2. Usando o app de teste da seleção de áudio.
      • O app em execução no Seeker de destino vai mostrar a latência após a troca.
      • Se não houver chave, o app vai mostrar a mensagem "Sem interruptor" e por um bom motivo.

App de teste de seleção de áudio:

  • Usar o app para acionar eventos de áudio VoIP/mídia/jogo durante um autoteste simplifica a configuração do teste e reduz a latência do evento do Seeker.
    • Faça o download aqui.
    • O teste de VoIP do LE Audio precisa que uma política seja ativada manualmente: > Raiz do adb > As configurações do shell do adb colocam global hide_api_policy 1 > Reinicialização do adb
  • Instalação do app:
    • Copie o apk para o smartphone de teste e abra.
    • Como alternativa, use adb install audio_test_app.apk.
  • Se uma caixa de diálogo pedir acesso às notificações:
    1. Clique em "OK"
    2. Escolha "Teste SASS FP" na lista de apps
    3. Permitir acesso às notificações.

Visão geral do app:

Esta imagem é um exemplo do app em execução

  • Provedor de destino

    • Esse botão vai mostrar uma lista de dispositivos Bluetooth pareados quando clicado. Selecione o que você quer testar.
    • Os botões "Conectar" e "Desconectar" funcionam como o do Bluetooth configurações detalhes do dispositivo.
  • Estado atual

    • Esse campo mostra o último estado de conexão que o Seeker recebeu de um provedor usando publicidade BLE ou transmissão de eventos.
    • As notificações de depuração da seleção de áudio também são mostradas aqui.
  • Tipo de candidato

    • Essa opção é usada para alternar o dispositivo entre streams de áudio.

Tipo de áudio

Clássico com A2DP+HFP

  • VoIP
    • A seleção desse modo vai mudar o modo de áudio para AudioManager.MODE_IN_COMMUNICATION e chamar AudioManager.startBluetoothSco, depois reproduzir o áudio com USAGE_VOICE_COMMUNICATION.
    • O tipo de transmissão é STREAM_VOICE_CALL.
    • O estado da conexão do provedor deve mudar para CONNECTED_HFP em até 5 segundos.
  • Mídia
    • A seleção desse modo reproduz áudio com suporte a AVRCP. O tipo de uso de áudio é: USAGE_MEDIA.
    • O estado da conexão do provedor precisa mudar para CONNECTED_A2DP_WITH_AVRCP em até 5 segundos.
    • O estado da conexão pode mudar brevemente para CONNECTED_A2DP_ONLY quando iniciada ou interrompida.
  • Jogo
    • A seleção desse modo reproduz áudio que não tem suporte para AVRCP. O áudio o tipo de uso é: USAGE_GAME.
    • O estado da conexão do provedor precisa mudar para CONNECTED_A2DP_ONLY em até 5 segundos.

BLE com LE Audio

  • VoIP

    • A seleção desse modo vai mudar o modo de áudio para AudioManager.MODE_IN_COMMUNICATION e reproduzir áudio com USAGE_VOICE_COMMUNICATION.
    • O tipo de transmissão é STREAM_VOICE_CALL.
    • O estado da conexão do provedor vai mudar para CONNECTED_LE_AUDIO_CALL em 5 segundos.
  • Mídia

    • A seleção desse modo vai reproduzir áudio com o tipo de stream STREAM_MUSIC. O tipo de uso de áudio é: USAGE_MEDIA.
    • O estado da conexão do provedor precisa mudar para CONNECTED_LE_AUDIO_MEDIA_WITH_CONTROL em até 5 segundos.
    • O estado da conexão pode mudar brevemente CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL quando iniciado ou interrompido.
  • Jogo

    • A seleção desse modo reproduz áudios que o usuário não controla diretamente. O tipo de uso do áudio é: USAGE_GAME.
    • O estado da conexão do provedor deve mudar para CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL em 5 segundos.
  • Botões "Reproduzir" e "Parar"

    • Os botões PLAY e STOP iniciam ou interrompem o áudio.
  • Mudar resultado

    • Esse campo mostra a latência ativa do Connect e do Switch. Ele também mostra o motivo da recusa de uma troca se um evento de áudio foi acionado mas a troca não aconteceu.
    • A latência é medida em milissegundos (ms).
    • Em geral, a latência é medida desde o início do acionador da seleção de áudio do recebimento de um perfil BT conectado ou de uma chave multiponto de notificação evento.
    • As chaves acionadas pelo provedor medem a latência desde o início do áudio.

Latência de despejo

  • O comando a seguir permite que um usuário capture medições de latência quando executando testes manuais: adb shell dumpsys activity service com.google.android.gms/.nearby.discovery.service.DiscoveryService
    • As medições de latência são mostradas na seção SwitchHistory de NearbyDeviceManager:
            NearbyDeviceManager
              Nearby Sass device count: 1
                Sass device - address:XX:XX:XX:XX:XX:XX, name:Googler's Pixel Buds, accountKey:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, modelId:6edaf7
                  SwitchHistory
                    15:30:21:166 - 15:30:25:201, latency 3035ms, Succeed, SASS_TRIGGERED_CONNECT, SASS switch, A2DP
                    15:34:58:568 - 15:34:58:568, latency 0ms, Succeed, SWITCH_ACTIVE_TO_SELF, SASS switch, HFP
                    15:36:26:615 - 15:36:31:603, latency 1988ms, Succeed, SASS_TRIGGERED_CONNECT, SASS switch, A2DP
                    15:37:56:108 - 15:37:56:250, latency 142ms, Succeed, SWITCH_ACTIVE_TO_SELF, SASS switch, A2DP"
  • Qualquer chave que o GmsCore não possa medir (por exemplo, chave ativa para HFP) será registrada como latência de 0ms.

Referência de padrões de registro:

Exemplos de registros do teste de latência

Problemas conhecidos:

Confira a seguir os bugs conhecidos causados pelo Seeker:

  1. A troca de áudio do jogo está incorreta.
    • Os smartphones Samsung vão definir o estado da conexão como CONNECTED_A2DP_WITH_AVRCP, em vez de CONNECTED_A2DP_ONLY durante a reprodução jogos.
    • Alguns jogos (como o Candy Crush) podem reproduzir música em segundo plano e acionar um novo evento de áudio sem a entrada do usuário. Os telefones conectados podem estar constantemente Trocar o áudio em todos os smartphones que abrirem o jogo.