오디오 스위치 인증 가이드라인

인증 준비

  • 테스트 기기를 준비합니다.
    • Android 기기 5대가 필요합니다.
      • 이러한 기기에는 다음이 포함되어야 합니다.
        • Android T (13)와 Android V (15)가 각각 하나 이상 있어야 합니다.
        • Samsung 기기 1대 이상, Pixel 기기 1대 이상
        • 예를 들면 다음과 같습니다.
          • 1 OnePlus (Android 10)
          • 3 Samsung (Android 11, 12, 13)
          • 1 Pixel (Android 15)
    • 오디오 전환 기능이 없는 기기 1개:
      • 오디오 전환이 사용 중지된 iPhone, PC, 블루투스 (BT) 지원 노트북 또는 Android 휴대전화
        • 블루투스 기기 세부정보 설정에서 오디오 전환을 사용 중지할 수 있습니다.
      • 멀티포인트 (MP) 테스트 사례 2.8에는 5개의 테스트 휴대전화 외에 오디오 전환이 없는 기기가 필요합니다.
  • 테스트 휴대전화에 디버그 알림을 표시하려면 테스트 계정으로 오디오 전환 테스트 그룹에 가입하세요.

    • 또한 Google이 Google 애널리틱스를 통해 테스트 데이터를 수집할 수 있습니다.

A2DP+HFP가 적용된 클래식

  • 모든 Android 기기에 GmsCore 버전 23.xx.xx 이상이 설치되어 있는지 확인합니다.

LE 오디오가 포함된 BLE

  • 참조 휴대전화 중 2대 이상이 LE 오디오를 지원해야 합니다.
    • 예를 들어 LE 오디오를 지원하는 삼성 휴대전화 1대와 Pixel 휴대전화 1대
  • 모든 Android 기기에 GmsCore 버전 24.33.xx 이상이 설치되어 있는지 확인합니다.

인증 기준

  • 타겟 전환 성공률은 모든 테스트 사례에서 95% 를 초과해야 합니다.
  • 전환이 필요한 테스트에서 프로필 연결 및 활성 상태 전환은 최소 75%의 경우에서 오디오 이벤트를 트리거한 후 3초 이내에 완료되어야 합니다.

A2DP+HFP가 적용된 클래식

자체 테스트는 다음 조합으로 실행해야 합니다.

  • 휴대전화 A=Android S (12) + 휴대전화 B=Android T (13)
  • 휴대전화 A=Android T (13), 휴대전화 B=Android S (12)

LE 오디오가 포함된 BLE

자체 테스트는 다음 조합으로 실행해야 합니다.

  • 휴대전화 A: BT 클래식, 휴대전화 B: BT 클래식
  • 휴대전화 A: LE 오디오, 휴대전화 B: BT 클래식
  • 휴대전화 A: BT Classic, 휴대전화 B: LE 오디오

선택적으로 이중 LE 오디오 연결을 지원하는 제공업체는 다음을 테스트해야 합니다.

  • 휴대전화 A: LE 오디오, 휴대전화 B: LE 오디오

테스트 가이드

테스트 대상 기기 (DUT) 준비

  • BT 기기가 테스트 Google 계정에 로그인된 휴대전화와 이전에 페어링되지 않았는지 확인합니다.
    • 기기가 테스트 Google 계정에 페어링된 경우 다음 단계를 따라 페어링을 해제합니다.
      • 페어링된 기기에서 다음 단계를 따르세요.
        • 블루투스 설정으로 이동합니다.
        • '기기 삭제'를 선택합니다.
        • 비행기 모드를 켰다 끕니다.
    • '기기 자동 저장'이 사용 설정되어 있는지 확인합니다.
      • 이 스위치는 기본적으로 사용 중지되어 있습니다.
      • 이 옵션은 설정 > Google > 기기 > 저장된 기기 (DUT당 하나)에서 찾을 수 있습니다.
    • 블루투스 기기를 페어링 모드로 설정합니다.
    • 초기 블루투스 기기 (A)를 페어링합니다.
    • 후속 블루투스 기기를 다른 기기 (B, C, D 등)와 페어링합니다.

범위

  • 모든 헤드셋은 BT 클래식 또는 BT LE 오디오 자체 테스트 보고서의 다양한 탭에서 테스트를 실행합니다.
  • SinglePoint (SP) 모드만 지원하는 헤드셋은 다음을 실행합니다.
    • Generic_test 탭
  • MP 모드를 지원하는 헤드셋은 다음을 실행합니다.
    • Generic_test 탭
    • Multipoint_only 탭
  • SP 모드로 전환할 수 있는 MP 헤드셋은 다음을 실행합니다.
    • MP가 사용 중지된 Generic_test 탭
    • MP가 사용 설정된 Generic_test 탭
    • MP가 사용 설정된 Multipoint_only 탭

셀프 휴식 및 셀프 테스트 보고서 작성

  • BT Classic 또는 BT LE 오디오 자체 테스트 보고서의 사본을 만듭니다.
  • 모든 테스트 사례를 두 번 이상 실행합니다.
  • 테스트는 다음 형식으로 실행해야 합니다.

A2DP+HFP가 적용된 클래식

  • 기기 B가 기본 DUT가 됩니다.
    • 템플릿 상단의 'Phone'(휴대전화) 및 'OS'(OS) 필드에 기기 B의 세부정보를 입력합니다.

테스트 사례 예시:

  • 테스트 휴대전화:

    • 기기 1: Samsung (Android 13)
    • 기기 2: Pixel (Android 12 또는 13) 및 기타
  • 실행된 테스트:

    • 실행 1 기기 A=Samsung S10+ (12), 기기 B=Pixel 7 Pro (13) 열 D: 휴대전화=Pixel 7 Pro, OS=Android 13
    • 2차 시기 기기 A=Pixel 7 Pro (13), 기기 B=Pixel 6(12) 열 E: 휴대전화=Pixel 6, OS=Android 12

자가 테스트 템플릿에서 완료된 테스트의 예:

이 그림은 테스트 예시의 결과를 보여줍니다.

LE 오디오가 포함된 BLE

  1. 기기 A=Android V (15) + 기기 B=Android T (13)
  2. 기기 A=Android T (13), 기기 B=Android V (15)
  3. 기기 A=Android T (13), 기기 B=Android S (12)
  4. 기기 A=Android T (15), 기기 B=Android V (15)
  5. 기기 B가 기본 DUT가 됩니다.
    • 템플릿 상단의 'Phone'(휴대전화) 및 'OS'(OS) 필드에 기기 B의 세부정보를 입력합니다.

테스트 사례 예시:

  • 테스트 휴대전화:

    • 기기 1: Samsung (Android 13)
    • 기기 2: Pixel (Android 15) 및 기타
  • 실행된 테스트:

    • [LEA+BT]: 기기 A= Pixel 8 (15), 기기 B=Pixel 7 Pro (13) 열 D: 휴대전화=Pixel 7 Pro, OS=Android 13
    • [BT+LEA]: 기기 A=Pixel 7 (13), 기기 B=Pixel 8 (Android 15) 열 E: 휴대전화=Pixel 8, OS=Android 15
    • [BT+BT]: 기기 A=Pixel 7 Pro (13), 기기 B=Samsung S10+ (12) 열 E: 휴대전화=Samsung S10+, OS=Android 12
    • [LEA+LEA]: 기기 A=Pixel 8 (15), 기기 B=Pixel 8(15) 열 E: 휴대전화=Pixel 8, OS=Android 15

자가 테스트 템플릿에서 완료된 테스트의 예:

이 그림은 테스트 예시의 결과를 보여줍니다.

오디오 이벤트:

  • 테스트한 오디오 이벤트의 4가지 유형과 권장 테스트 앱은 다음과 같습니다.

    1. 전화:
      1. 내장 전화 앱
    2. VoIP: 다음을 비롯한 모든 VoIP 앱이 작동합니다.
      1. 오디오 전환 테스트 앱
      2. FB Messenger
      3. Line
      4. WhatsApp
      5. Google Meet
      6. Google Meet
    3. 미디어: 다음을 비롯한 모든 오디오 플레이어가 작동합니다.
      1. 오디오 전환 테스트 앱
      2. YouTube Music
      3. Apple Music
      4. Spotify.
      5. Google 팟캐스트)에 표시되지 않도록 하기
    4. 경기:
      1. 오디오 전환 테스트 앱

디버그 정보:

  • fp-sass-partner-test 그룹에 가입하면 알림이 사용 설정됩니다. 예를 들면 다음과 같습니다.

    • 최신 상태 알림:

    그림 1: '최신 상태 알림' 메시지를 보여줍니다.

    • 스위치 알림 없음:

    그림 2: '전환 알림 없음' 메시지를 보여줍니다.

    • 전환 지연 시간 알림:

    그림 3: '전환 지연 시간 알림' 메시지를 보여줍니다.

지연 시간 측정

  • 스위치 지연 시간에는 두 가지 종류가 있습니다.
    1. 연결이 끊긴 Seeker에 블루투스 프로필을 연결합니다.
      • 여기에는 모든 SinglePoint 사례와 타겟 탐색기 (기기 B)가 연결 해제된 일부 MP 사례가 포함됩니다.
    2. 활성 연결된 탐색기 전환
      • 여기에는 타겟 탐색기 (기기 B)가 이미 연결된 일부 MP 사례가 포함됩니다.
  • 지연 시간 정보를 가져오는 방법에는 두 가지가 있습니다.
    1. 모든 지연 시간은 adb 명령어로 덤프할 수 있습니다.
      • 자세한 내용은 덤프 지연 시간 섹션을 참고하세요.
      • 이 명령어는 하나 이상의 테스트 사례를 완료한 후 지연 시간을 제공하고 기록할 수 있습니다.
    2. 오디오 전환 테스트 앱을 사용합니다.
      • 타겟 시커에서 실행되는 앱은 전환 후 지연 시간을 표시합니다.
      • 전환이 없는 경우 앱에 '전환 없음' 이유가 표시됩니다.

오디오 전환 테스트 앱:

  • 앱을 사용하여 자체 테스트 중에 VoIP/미디어/게임 오디오 이벤트를 트리거하면 테스트 설정이 간소화되고 Seeker의 이벤트 지연 시간이 줄어듭니다.
    • 최신 버전은 여기에서 다운로드할 수 있습니다.
    • LE 오디오 VoIP 테스트에서는 정책을 수동으로 사용 설정해야 합니다. > adb root > adb shell settings put global hidden_api_policy 1 > adb reboot
  • 앱 설치:
    • 테스트 휴대전화에 APK를 복사하고 엽니다.
    • 또는 adb install audio_test_app.apk을 사용하세요.
  • 알림 액세스를 요청하는 대화상자가 표시되면 다음 단계를 따르세요.
    1. '확인'을 클릭합니다.
    2. 앱 목록에서 'FP SASS test'를 선택합니다.
    3. 알림 액세스를 허용합니다.

앱 개요:

이 그림은 실행 중인 앱의 예시입니다.

  • 타겟 제공업체

    • 이 버튼을 클릭하면 페어링된 블루투스 기기 목록이 표시됩니다. 테스트할 기기를 선택합니다.
    • 연결 및 연결 해제 버튼은 블루투스 설정의 기기 세부정보에 있는 버튼과 동일하게 작동합니다.
  • 현재 상태

    • 이 필드는 BLE 알림 또는 이벤트 스트림을 사용하여 탐색기가 제공자로부터 수신한 마지막 연결 상태를 보여줍니다.
    • 오디오 전환 디버그 알림도 여기에 표시됩니다.
  • 구직자 유형

    • 이 옵션은 오디오 스트림 간에 기기를 전환하는 데 사용됩니다.

오디오 유형

A2DP+HFP가 적용된 클래식

  • VoIP
    • 이 모드를 선택하면 오디오 모드가 AudioManager.MODE_IN_COMMUNICATION로 변경되고 AudioManager.startBluetoothSco가 호출된 후 USAGE_VOICE_COMMUNICATION로 오디오가 재생됩니다.
    • 스트림 유형은 STREAM_VOICE_CALL입니다.
    • 제공자 연결 상태가 5초 이내에 CONNECTED_HFP로 전환되어야 합니다.
  • 미디어
    • 이 모드를 선택하면 AVRCP를 지원하는 오디오가 재생됩니다. 오디오 사용 유형은 USAGE_MEDIA입니다.
    • 제공자 연결 상태가 5초 이내에 CONNECTED_A2DP_WITH_AVRCP로 전환됩니다.
    • 시작되거나 중지되면 연결 상태가 잠시 CONNECTED_A2DP_ONLY로 전환될 수 있습니다.
  • 게임

    • 이 모드를 선택하면 AVRCP를 지원하지 않는 오디오가 재생됩니다. 오디오 사용 유형은 USAGE_GAME입니다.
    • 제공자 연결 상태가 5초 이내에 CONNECTED_A2DP_ONLY로 전환되어야 합니다.

LE 오디오가 포함된 BLE

  • VoIP

    • 이 모드를 선택하면 오디오 모드가 AudioManager.MODE_IN_COMMUNICATION로 변경되고 USAGE_VOICE_COMMUNICATION로 오디오가 재생됩니다.
    • 스트림 유형은 STREAM_VOICE_CALL입니다.
    • 제공자 연결 상태가 5초 이내에 CONNECTED_LE_AUDIO_CALL로 전환되어야 합니다.
  • 미디어

    • 이 모드를 선택하면 스트림 유형이 STREAM_MUSIC인 오디오가 재생됩니다. 오디오 사용 유형은 USAGE_MEDIA입니다.
    • 제공자 연결 상태가 5초 이내에 CONNECTED_LE_AUDIO_MEDIA_WITH_CONTROL로 전환됩니다.
    • 시작되거나 중지될 때 연결 상태가 CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL로 잠시 전환될 수 있습니다.
  • 게임

    • 이 모드를 선택하면 사용자가 직접 제어할 수 없는 오디오가 재생됩니다. 오디오 사용 유형은 USAGE_GAME입니다.
    • 제공자 연결 상태가 5초 이내에 CONNECTED_LE_AUDIO_MEDIA_WITHOUT_CONTROL로 전환됩니다.
  • 재생 및 중지 버튼

    • PLAY 및 STOP 버튼은 오디오를 시작하거나 중지합니다.
  • 스위치 결과

    • 이 필드에는 연결 및 전환 활성 지연 시간이 표시됩니다. 오디오 이벤트가 트리거되었지만 전환이 발생하지 않은 경우 전환이 거부된 이유도 표시됩니다.
    • 지연 시간은 밀리초(ms) 단위로 측정됩니다.
    • 일반적으로 지연 시간은 오디오 전환 트리거 시작부터 연결된 BT 프로필 수신 또는 멀티포인트 전환 알림 이벤트까지 측정됩니다.
    • 제공업체 트리거 스위치는 오디오 시작부터 지연 시간을 측정합니다.

덤프 지연 시간

  • 다음 명령어를 사용하면 수동 테스트를 실행할 때 사용자가 지연 시간 측정을 캡처할 수 있습니다. adb shell dumpsys activity service com.google.android.gms/.nearby.discovery.service.DiscoveryService
    • 지연 시간 측정값은 NearbyDeviceManagerSwitchHistory 섹션에 표시됩니다.
            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"
  • GmsCore에서 측정할 수 없는 전환 (예: HFP의 활성 전환)은 지연 시간 0ms로 기록됩니다.

로그 패턴 참조:

지연 시간 테스트의 로그 예

알려진 문제:

다음은 시커로 인해 발생하는 알려진 버그입니다.

  1. 잘못된 게임 오디오 전환
    • 삼성 휴대전화는 게임을 플레이할 때 연결 상태를 CONNECTED_A2DP_ONLY 대신 CONNECTED_A2DP_WITH_AVRCP로 설정합니다.
    • 일부 게임 (예: 캔디 크러쉬)은 사용자 입력 없이 배경 음악을 다시 재생하고 새로운 오디오 이벤트를 트리거할 수 있습니다. 연결된 휴대전화는 게임을 여는 모든 휴대전화에서 오디오를 계속 전환할 수 있습니다.