Lineamientos de certificación para cambiar de audio

Preparación para la certificación

  • Prepara los dispositivos de prueba.
    • Necesitarás 5 dispositivos Android.
      • Estos dispositivos deben incluir lo siguiente:
        • Al menos un dispositivo con Android T (13) y uno con Android V (15)
        • Al menos un Samsung y un Pixel.
        • Por ejemplo:
          • 1 OnePlus (Android 10).
          • 3 Samsung (Android 11, 12 y 13)
          • 1 Pixel (Android 15).
    • Un dispositivo sin cambio de audio:
      • Cualquier iPhone, PC, laptop compatible con Bluetooth (BT) o un teléfono Android en el que se haya inhabilitado el cambio de audio
        • Puedes desactivar el cambio de audio desde la configuración de detalles del dispositivo Bluetooth.
      • El caso de prueba de multipunto (MP) 2.8 necesita un dispositivo sin interruptor de audio, además de los 5 teléfonos de prueba.
  • Únete al grupo de prueba de cambio de audio con tus cuentas de prueba para mostrar notificaciones de depuración en teléfonos de prueba.

    • Esto también permite que Google recopile datos de prueba a través de Google Analytics.

Clásico con A2DP+HFP

  • Asegúrate de que todos los dispositivos Android tengan instalada la versión 23.xx.xx de GmsCore o una posterior.

BLE con LE Audio

  • Al menos dos de los teléfonos de referencia deben admitir LE Audio.
    • Por ejemplo, un teléfono Samsung y un teléfono Pixel que admitan LE Audio.
  • Asegúrate de que todos los dispositivos Android tengan instalada la versión 24.33.xx de GmsCore o una posterior.

Criterios de certificación

  • La tasa de éxito del cambio de destino debe superar el 95% en todos los casos de prueba.
  • En las pruebas que requieren un cambio, la conexión de perfil y el estado activo del cambio deben completarse en un plazo de 3 segundos después de activar eventos de audio en al menos el 75% de los casos.

Clásico con A2DP+HFP

Las autopruebas se deben realizar en las siguientes combinaciones:

  • Teléfono A=Android S (12) + Teléfono B=Android T (13)
  • Teléfono A=Android T (13) + Teléfono B=Android S (12)

BLE con LE Audio

Las autopruebas deben realizarse en las siguientes combinaciones:

  • Teléfono A: Bluetooth clásico, Teléfono B: Bluetooth clásico
  • Teléfono A: LE Audio, Teléfono B: BT Classic
  • Teléfono A: Bluetooth clásico, Teléfono B: Audio LE

De manera opcional, los proveedores que admiten conexiones Dual LE Audio deben probar lo siguiente:

  • Teléfono A: Audio LE, Teléfono B: Audio LE

Guía de pruebas

Preparación del dispositivo en prueba (DUT)

  • Verifica que el dispositivo BT no se haya vinculado con ningún teléfono que haya accedido a la Cuenta de Google de prueba.
    • Si el dispositivo se vinculó a la Cuenta de Google de prueba, haz lo siguiente para borrar la vinculación:
      • En los dispositivos vinculados:
        • Navega a la configuración de Bluetooth.
        • Elige "Olvidar dispositivo".
        • Activa y desactiva el modo de avión.
    • Asegúrate de que la opción "Guardar dispositivos automáticamente" esté ACTIVADA.
      • Este interruptor está DESACTIVADO de forma predeterminada.
      • Puedes encontrar esta opción en Configuración > Google > Dispositivos > Dispositivos guardados (uno por DUT).
    • Pon el dispositivo Bluetooth en modo de vinculación.
    • Vincula el dispositivo Bluetooth inicial (A).
    • Vincula los dispositivos Bluetooth posteriores con otros dispositivos (B, C, D, etcétera).

Alcance

  • Todos los auriculares ejecutan pruebas desde las diferentes pestañas de la plantilla de autoprueba de cambio de audio.
  • Los auriculares que solo admiten el modo SinglePoint (SP) ejecutan lo siguiente:
    • La pestaña Generic_test.
  • Los auriculares que admiten el modo MP ejecutan lo siguiente:
    • La pestaña Generic_test.
    • La pestaña Multipoint_only.
  • Los auriculares MP que se pueden cambiar al modo SP ejecutan lo siguiente:
    • La pestaña Generic_test con MP desactivada
    • La pestaña Generic_test con MP activado.
    • La pestaña Multipoint_only con el MP activado.

Completa los informes de Autoprueba y recuperación

Clásico con A2DP+HFP

  • El dispositivo B será el DUT principal.
    • Ingresa los detalles del dispositivo B en los campos "Teléfono" y "SO" en la parte superior de la plantilla.

Ejemplo de caso de prueba:

  • Teléfonos de prueba:

    • Dispositivo 1: Samsung (Android 13)
    • Dispositivo 2: Pixel (Android 12 o 13) y otros
  • Pruebas ejecutadas:

    • Ejecuta 1. Dispositivo A: Samsung S10+ (12), dispositivo B: Pixel 7 Pro (13) Columna D: Teléfono=Pixel 7 Pro, SO=Android 13
    • Ejecuta 2. Dispositivo A=Pixel 7 Pro (13), Dispositivo B=Pixel 6(12) columna E: Teléfono=Pixel 6, SO=Android 12

Ejemplo de una prueba completada en la plantilla de autoprueba:

En esta imagen, se muestran los resultados de una prueba de ejemplo

BLE con 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. El dispositivo B será el DUT principal.
    • Ingresa los detalles del dispositivo B en los campos "Teléfono" y "SO" en la parte superior de la plantilla.

Este es un ejemplo de caso de prueba:

  • Teléfonos de prueba:

    • Dispositivo 1: Samsung (Android 13)
    • Dispositivo 2: Pixel (Android 15) y otros
  • Pruebas ejecutadas:

    • [LEA+BT]: Dispositivo A= Pixel 8 (15), dispositivo B=Pixel 7 Pro (13) columna D: Teléfono=Pixel 7 pro, SO=Android 13
    • [BT+LEA]: Dispositivo A=Pixel 7 (13), dispositivo B=Pixel 8 (Android 15) columna E: Teléfono=Pixel 8, SO=Android 15
    • [BT+BT]: Dispositivo A=Pixel 7 Pro (13), Dispositivo B=Columna Samsung S10+ (12) E: Teléfono=Samsung S10+, SO=Android 12
    • [LEA+LEA]: Dispositivo A=Pixel 8 (15), dispositivo B=Pixel 8(15) columna E: Teléfono=Pixel 8, SO=Android 15

Ejemplo de una prueba completada en la plantilla de autoprueba:

En esta imagen, se muestran los resultados de una prueba de ejemplo

Eventos de audio:

  • Los 4 tipos de eventos de audio probados y apps de prueba recomendadas son los siguientes:

    1. Llamada:
      1. La app para teléfonos integrada
    2. VoIP: Todas las apps de VoIP funcionarán, por ejemplo:
      1. La app de prueba de cambio de audio
      2. FB Messenger.
      3. Línea.
      4. WhatsApp
      5. Google Meet
      6. Google Meet
    3. Contenido multimedia: Funcionará cualquier reproductor de audio, como los siguientes:
      1. La app de prueba de cambio de audio
      2. YouTube Music.
      3. Apple Music.
      4. Spotify
      5. Google Podcasts).
    4. Partido:
      1. La app de prueba de cambio de audio

Información de depuración:

  • Las notificaciones se habilitan después de unirse al grupo fp-sass-partner-test. Estos son algunos ejemplos:

    • Notificación de estado más reciente:

    Figura 1: Se muestra el mensaje “Notificación de estado más reciente”.

    • No hay notificaciones de interruptores:

    Figura 2: Se muestra el mensaje "No hay notificaciones de cambio".

    • Notificación de cambio de latencia:

    Figura 3: Se muestra el mensaje “Cambiar la notificación de latencia”.

Medición de latencia

  • Existen dos tipos de latencia del interruptor:
    1. Conexión de un perfil de Bluetooth a un Seeker desconectado.
      • Esto incluye todos los casos SinglePoint y algunos casos MP cuyo destino Seeker (dispositivo B) está desconectado.
    2. Cambia el buscador activo conectado.
      • Esto incluye algunos casos MP que ya conectó el Seeker de destino (dispositivo B).
  • Existen dos formas de recuperar información de latencia:
    1. El comando adb puede volcar toda la latencia.
      • Consulta la sección latencia de volcado para obtener más detalles.
      • Este comando puede proporcionar y registrar latencia después de finalizar al menos un caso de prueba.
    2. Usa la app de prueba de cambio de audio.
      • La app que se ejecuta en el buscador de destino mostrará latencia después del cambio.
      • Si no hay cambio, la app mostrará el motivo.

App de prueba del cambio de audio:

  • Usar la app para activar eventos de audio de VoIP, contenido multimedia o juegos durante una autoprueba simplificará la configuración de la prueba y reducirá la latencia de eventos de Seeker.
    • Puedes descargar la versión más reciente aquí.
    • La prueba de VoIP de audio LE necesita una política que se habilite de forma manual: > adb root > adb shell settings put global hidden_api_policy 1 > adb reboot
  • Instalación de la app:
    • Copia el APK en tu teléfono de prueba y ábrelo.
    • Como alternativa, usa adb install audio_test_app.apk.
  • Si ves un diálogo que solicita acceso a las notificaciones, haz lo siguiente:
    1. haz clic en "OK"
    2. Elige "Prueba de FP SASS" en la lista de apps.
    3. Permite el acceso a las notificaciones.

Descripción general de la aplicación:

Esta imagen es un ejemplo de la app en ejecución

  • Proveedor de destino

    • Cuando hagas clic en este botón, se mostrará una lista de los dispositivos Bluetooth vinculados. Selecciona la que quieras probar.
    • Los botones Conectar y Desconectar funcionan como el que se muestra en el detalle del dispositivo en la configuración de Bluetooth.
  • Estado actual

    • Este campo muestra el último estado de conexión que el buscador recibió de un proveedor mediante la publicidad BLE o el flujo de eventos.
    • Aquí también se muestran las notificaciones de depuración del interruptor de audio.
  • Tipo de buscador

    • Esta opción se usa para cambiar el dispositivo entre transmisiones de audio.

Tipo de audio

Versión clásica con A2DP + HFP

  • VoIP
    • Si seleccionas este modo, el modo de audio cambiará a AudioManager.MODE_IN_COMMUNICATION y llamará a AudioManager.startBluetoothSco y, luego, reproducirá audio con USAGE_VOICE_COMMUNICATION.
    • El tipo de transmisión es STREAM_VOICE_CALL.
    • El estado de conexión del proveedor debería cambiar a CONNECTED_HFP en un plazo de 5 segundos.
  • Contenido multimedia
    • Si seleccionas este modo, se reproducirá audio compatible con AVRCP. El tipo de uso de audio es USAGE_MEDIA.
    • El estado de conexión del proveedor debería cambiar a CONNECTED_A2DP_WITH_AVRCP en un plazo de 5 segundos.
    • Es posible que el estado de la conexión cambie brevemente a CONNECTED_A2DP_ONLY cuando se inicie o detenga.
  • Juego
    • Si seleccionas este modo, se reproducirá audio que no es compatible con AVRCP. El tipo de uso de audio es USAGE_GAME.
    • El estado de conexión del proveedor debe cambiar a CONNECTED_A2DP_ONLY en un plazo de 5 segundos.

BLE con LE Audio

  • VoIP

    • Si seleccionas este modo, se cambiará el modo de audio a AudioManager.MODE_IN_COMMUNICATION y se reproducirá con USAGE_VOICE_COMMUNICATION.
    • El tipo de transmisión es STREAM_VOICE_CALL.
    • El estado de conexión del proveedor debe cambiar a CONNECTED_LE_AUDIO_CALL en un plazo de 5 segundos.
  • Contenido multimedia

    • Si seleccionas este modo, se reproducirá audio con el tipo de transmisión STREAM_MUSIC. El tipo de uso de audio es USAGE_MEDIA.
    • El estado de conexión del proveedor debe cambiar a CONNECTED_LE_AUDIO_MEDIA_WITH_CONTROL en un plazo de 5 segundos.
    • Es posible que el estado de la conexión cambie brevemente a CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL cuando se inicie o detenga.
  • Juego

    • Si seleccionas este modo, se reproducirá el audio sobre el que el usuario no tiene control directo. El tipo de uso de audio es USAGE_GAME.
    • El estado de conexión del proveedor debería cambiar a CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL en un plazo de 5 segundos.
  • Botones de reproducción y detención

    • Los botones PLAY y STOP inician o detienen el audio.
  • Resultado del cambio

    • En este campo, se muestra la latencia activa de Connect and Switch. También muestra el motivo por el que se rechaza un cambio si se activó un evento de audio, pero el cambio no se produjo.
    • La latencia se mide en milisegundos (ms).
    • En general, la latencia se mide desde el inicio del activador del interruptor de audio hasta la recepción de un evento de interruptor multipunto conectado o de notificación de perfil BT.
    • Los interruptores activados por el proveedor miden la latencia desde el inicio del audio.

Latencia de volcado

  • El siguiente comando permite que un usuario capture mediciones de latencia cuando ejecuta pruebas manuales: adb shell dumpsys activity service com.google.android.gms/.nearby.discovery.service.DiscoveryService
    • Las mediciones de latencia se muestran en la sección 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"
  • Cualquier cambio que GmsCore no pueda medir (p.ej., un interruptor activo para HFP) se registrará como una latencia de 0 ms.

Referencia de los patrones de registro:

Ejemplos de registros de la prueba de latencia

Problemas conocidos:

Los siguientes son errores conocidos que causa el buscador:

  1. Cambio de audio del juego incorrecto.
    • Los teléfonos Samsung establecerán el estado de conexión en CONNECTED_A2DP_WITH_AVRCP, en lugar de CONNECTED_A2DP_ONLY, cuando se jueguen juegos.
    • Algunos juegos (como Candy Cash) pueden volver a reproducir música en segundo plano y activar un evento de audio nuevo sin la entrada del usuario. Es posible que los teléfonos conectados cambien el audio constantemente en cada teléfono que abre el juego.