오디오 스위치

사용자가 오디오, 동영상, 오디오, 오디오 등 여러 가지 오디오 소스 장치를 헤드셋을 관리할 수 있는 간단한 솔루션에 대한 수요가 늘고 있습니다. 다양한 기기에서 사용할 수 있습니다. 오디오 스위치가 헤드셋 연결을 매끄럽게 전환 사용자 활동 (예: 영화 시작)에 따라 기기 간 상호작용 이벤트 (예: 수신 전화)를 자동으로 전송합니다.

UX 원칙

  1. 연결 전환은 빠르고 사용자 작업에 기반해야 합니다.
  2. 연결 전환은 사용자에게 투명하게 이루어져야 하며, 이를 통해 제어하거나, 전환이 바람직하지 않은 경우 되돌립니다.
  3. 전환 시 사용자 개인 정보 보호를 존중해야 합니다.

역할

Audio Switch Seeker: Seeker는 오디오 소스 기기입니다 (예: 휴대전화 또는 태블릿) 근처에 있는 헤드셋을 찾는 경우 해당되는 경우 연결할 수 있습니다.

오디오 스위치 제공업체: 제공업체는 일반적으로 접속 상태가 될 수도 있습니다.

요구사항 개요

스마트 전환을 달성하려면 제공업체는 다음 요구사항을 준수해야 합니다.

이름 설명 요구사항 필수 여부
페이지 스캔 기존 연결이 있을 때 다른 탐색자의 새 연결 요청을 수락하려는 경우.
단일 포인트 제공업체의 경우:
  • 제공자의 연결을 해제하면 원래 소스 기기에서 자동으로 오디오 재생을 일시중지합니다.
멀티포인트 제공업체의 경우:
  • 여전히 사용 가능한 연결이 있으면 연결 요청을 수락합니다.
  • 연결 대역폭이 가득 찬 경우 가장 오래전에 사용한 연결을 끊고 (예: 오랫동안 오디오 이벤트가 없음) 새 수신 요청을 수락합니다.
성능을 개선하려면 지연 시간이 짧은 페이지 스캔 모드 (스캔 간격은 640ms 이하여야 함)가 필요합니다.
배터리 수명과 전환 성능 간의 절충을 위해 제공업체는 대부분의 경우 기본 페이지 검색 모드 (저전력 모드, 검색 간격은 1, 280ms 이하여야 함)를 사용할 수 있습니다. 하지만 다음과 같은 상황에서는 짧은 지연 시간 모드를 사용해야 합니다.
  • 전원을 켤 때 처음 30초
  • 연결 또는 페이징이 발생하지 않을 때 처음 30초
  • 처음 30초 동안 기기 유휴 상태
필수
연결 기록 이전 연결로 다시 전환하고 해당하는 경우 재생을 다시 시작하려면
Message Stream API를 통한 통신으로 되돌리기 전환이 트리거됩니다.
해당하는 경우 재생을 다시 시작하려면 오디오 일시중지가 기록에 포함되어야 합니다.
연결 기록을 유지하고 Message Stream API를 구현합니다. 필수
연결 상태 탐색자가 연결 전환 판단을 수행해야 합니다. 연결 상태는 다음과 같습니다.
  • 연결 상태
  • 활성 연결의 오디오 유형
  • 활성 연결의 계정 정보
  • 연결된 기기
BLE 광고 및 메시지 스트림에 연결 상태를 포함합니다. 필수
런타임 기능 변경 제공자의 펌웨어를 업그레이드하여 오디오 전환을 활성화할 수 있으므로 런타임에 Seeker와 Provider 간에 기능을 동기화해야 합니다. Message Stream API를 구현하여 런타임 기능에 액세스합니다. 필수
구성 가능한 전환 규칙 Seeker가 사용자 환경설정을 통해 기존 활성 오디오 스트리밍과 새 오디오 스트리밍 요청 간의 우선순위를 구성하도록 허용합니다.
예를 들어 오디오 전환 Seeker는 사용자가 미디어 스트리밍과 통화 간의 자동 전환을 사용 설정/중지할 수 있는 UI 설정을 제공할 수 있습니다.
오디오 전환 탐색자가 메시지 스트림을 통해 전환 규칙을 설정하고 가져옵니다.
멀티포인트 제공자만 해당됩니다.
메시지 스트림 API를 구현하여 연결된 기기 간의 전환 규칙을 구성 가능하도록 만드세요.
선택사항
활성 기기 전환 Audio switch Seeker가 연결된 기기 간의 오디오 전환을 시뮬레이션하도록 허용합니다.
Audio switch Seeker 측에는 사용자가 연결된 기기 간에 쉽게 전환할 수 있는 UI가 있을 수 있습니다.
멀티포인트 제공업체에만 적용됩니다.
오디오 전환 시커용 메시지 스트림 API를 구현하여 연결된 기기 간의 활성 오디오 소스를 확인합니다.
필수
멀티포인트 전환 알림 오디오 전환 탐색자가 전환 알림을 표시하도록 허용합니다. 멀티포인트 제공자만 해당.
Message Stream API를 구현하여 멀티포인트 전환이 진행 중일 때 연결된 오디오 전환 탐색자에게 이를 알립니다.
필수

광고 페이로드

제공자는 광고에 현재 연결 상태를 포함해야 합니다. 빠른 페어링 계정 데이터에 기반하여 빌드됩니다. 광고: 검색할 수 없는 경우.

표 4.2의 버전은 0x1입니다.

연결 상태 필드

옥텟 데이터 유형 설명 필수 여부
0 uint8 필드 길이 및 유형
0bLLLLTTTT
  • L = 연결 상태 길이(바이트)
  • T = 유형
0bLL0101
  • 길이: 다름
  • type = 0b0101
필수
1 uint8 연결 상태
0bHAFRSSSS
  • H = 머리 위 감지
  • A = 연결 가용성
  • F = 집중 모드
  • R = 자동 재연결
  • S = 연결 상태
0bHAFRSSSS
필수
2 uint8 맞춤 데이터
현재, 여기에는 현재 오디오 스트리밍의 사용법을 설명하는 데 사용되는 콘텐츠 유형만 포함됩니다. 탐색자가 이를 제공자에게 보냅니다.
값은 메시지 스트림을 통해 현재 활성 스트리밍의 탐색자에서 제공업체로 전송됩니다. 현재 활성 스트리밍이 Seeker의 스트리밍이 아닌 경우 0입니다. 필수
3 - var 연결된 기기 비트맵
현재 제공업체에 연결된 기기를 표시하는 비트맵입니다. 결합된 모든 기기는 순서대로 정렬됩니다. 연결된 기기 한 개당 한 비트입니다. 길이는 제공업체의 연결된 기기 수에 따라 다릅니다.
기기가 현재 제공자에 연결되어 있으면 1로 설정되고 그렇지 않은 경우 0으로 설정된 매핑된 비트입니다.
자세한 내용은 연결된 기기 비트맵을 참고하세요.
선택사항

표 4.1: 연결 상태 필드 원시 데이터

연결 플래그
  • 0bH = 머리 위 감지

    • 1, 지금 진행 중
    • 0, 그렇지 않으면 헤드에 있지 않거나 OHD 센서가 없습니다.
  • 0bA = 연결 가용성

    • 1, 사용 가능한 연결이 있습니다.
    • 0, 그렇지 않으면
  • 0bF = 집중 모드

    • 1, 현재 집중 모드에서는 미디어에 연결 전환이 허용되지 않습니다. 사용(A2DP에서 A2DP로 전환 없음)
    • 0, 그렇지 않으면
  • 0bR = 자동 재연결

    • 1: 현재 연결이 제공자에 의해 자동으로 다시 연결되는 경우. 즉, 사용자가 연결하는 것이 아닙니다 (멀티포인트의 경우, 기존 자동으로 다시 연결되는 경우 1로 설정해야 함)
    • 0, 그렇지 않으면
연결 상태
  • 0x0: 연결 없음
  • 0x1: 페이징
  • 0x2: 연결되었지만 전송 중인 데이터가 없음
  • 0x3: 비오디오 데이터 전송 (전환 가능한 경우에만, 그렇지 않은 경우 0xF 사용)
  • 0x4: A2DP 스트리밍, AVRCP 적용 불가
  • 0x5: A2DP 스트리밍 및 AVRCP 재생
  • 0x6: HFP(전화/VoIP 통화) 스트리밍(대역 내 및 비인대역 벨소리 포함)
  • 0x7: LE 오디오 - 제어 없는 미디어 스트리밍
  • 0x8: LE 오디오 - 컨트롤이 포함된 미디어 스트리밍
  • 0x9: LE 오디오 - 통화 스트리밍
  • 0xA: LE 오디오 - 브로드캐스트
  • 0xF: 연결 스위치를 일시적으로 비활성화합니다 (예: 펌웨어 업데이트).
LE 오디오 컨텍스트 유형 및 연결 상태

LE 오디오 제공업체가 지정된 모든 컨텍스트 유형을 처리해야 함 할당 번호 6.12.3 (제공자가 지정된 컨텍스트 유형을 명시적으로 지원하지 않는 경우) 및 매핑 컨텍스트 유형을 아래와 같이 연결 상태로 변경합니다.

  • 대화형: 0x9
  • 미디어: 0x8
  • 게임: 0x7
  • 안내: 0x7
  • 음성 어시스턴트: 0x9
  • 라이브: 0x9
  • 음향 효과: 0x2
  • 알림: 0x2
  • 벨소리: 0x9
  • 알림: 0x7
  • 응급 상황 경보: 0x9

혼합 LE 오디오 컨텍스트 유형 시나리오(예: 제공자는 가장 높은 우선순위의 연결 상태를 사용해야 합니다. 즉, 위 시나리오의 경우 0x8 (미디어) 대신 0x9 (호출)

연결된 기기 비트맵

원치 않는 연결 전환을 방지하려면 탐색자가 헤드셋이 현재 연결된 기기입니다. 예를 들어 헤드셋이 전화에 연결되어 있을 때 사용자는 그 때문에 가족 구성원 중 한 명이 YouTube에서 태블릿입니다.

이 비트맵은 익명이므로 탐색자는 다른 비트맵이 무엇인지 제공자와 결합됩니다. 예를 들어 연결된 기기 5대를 살펴보겠습니다.

  • 0: 노트북 (0bx0000000)
  • 1: phoneA (0b0x000000)
  • 2: phoneB (0b00x00000)
  • 3: 태블릿 (0b000x0000)
  • 4: TV (0b0000x000)

현재 연결된 기기가 노트북과 태블릿인 경우 비트맵은 0b10010000이 됩니다. 불가피한 경우에는 주문 변경이 허용되는 경우 예: 사용자가 헤드셋을 초기화하거나 연결된 기기 수가 초과될 때 상한에 도달하게 됩니다.

랜덤 확인 가능한 광고

추적을 방지하고 사용자 개인 정보를 보호하기 위해 제공자는 AES-CTR을 사용하여 계정 키로 필드를 암호화합니다.

 encrypted_connection_status_field = connection_status_raw_data ^ AES(Key, IV)

어디서

  1. 키는 사용 중인 계정 키에서 파생되며 다음 섹션에서 정의됩니다.

    • 키는 SHA-256을 사용하는 HKDF 함수(IETF RFC 5869)로 생성됩니다. 해시 함수.

        Key = HKDF(account_key, NULL, UTF8("SASS-RRD-KEY"),16)
      
    • 제공업체는 여기서 원래 계정 키, 즉 첫 번째 바이트를 사용해야 합니다. 0x04이며 사용 패턴에 포함되지 않습니다.

  2. IV (초기 벡터)는 0이 있는 계정 키 데이터의 2바이트 솔트입니다. 패딩입니다. 즉, IV는 concat(솔트, 14바이트 0)입니다.

  3. 연결 상태 원시 데이터는 표 4.1에 정의되어 있습니다. 솔트와 RPA는 다시 생성되어야 하므로 확인할 수 있습니다

이렇게 하면 암호화된 연결 상태 필드가 계정 키 데이터는 순환됩니다.

BLE 광고는 아래와 같이 구성됩니다.

옥텟 데이터 유형 설명 필수 여부
0 uint8 버전 및 플래그 0x10 필수
1~시간 계정 키 데이터 다름 필수
t+1~s 배터리 데이터 다름 선택사항
s+1 - var 확인 가능한 무작위 데이터 다름 계정 키 목록이 비어 있지 않은 경우 필수이며
그렇지 않으면 제외됩니다.

표 4.2: 랜덤 확인 가능 데이터를 사용한 BLE 광고

확인 가능한 임의 데이터에는 다음이 포함됩니다.

옥텟 데이터 유형 설명 필수 여부
0 uint8 필드 길이 및 유형
0bLLLLTTTT
  • L = 암호화된 데이터의 길이
  • T = 유형
0bLL0110
  • 길이: 다름
  • 유형 = 0b0110
필수
1 - var 암호화된 데이터 다름 필수

표 4.2.1: 임의 확인 가능 데이터

예를 들어 랜덤 확인 가능 데이터에 암호화된 연결이 포함된 경우 복호화된 결과는 연결 상태 필드를 참고하세요.

조작을 방지하기 위해 위의 계정 키 데이터를 약간 수정해야 합니다. 광고에 포함된 임의의 확인 가능 데이터 일반적으로 계정 키 필터를 만들면 계정과 솔트가 포함된 키 필터입니다. 대신 임의 확인 가능 데이터도 값 V는 다음과 같이 구성되어야 합니다.

 V = concat(account_key, salt, random_resolvable_data)

배터리 데이터와 무작위 확인 가능 데이터를 모두 광고하는 경우 V는 다음과 같이 구성됩니다.

 V = concat(account_key, salt, battery_data, random_resolvable_data)

사용 중인 계정 키

연결 전환은 계정 기반이므로 제공업체는 다음을 포함해야 합니다. BLE 광고의 현재 연결 계정 정보 만약 현재 연결된 기기가 오디오 전환 탐색자인 경우 제공업체는 를 호출하여 이 탐색자와 연결된 계정 키를 가져오고, 이 계정 키를 사용하여 연결 상태 필드를 암호화합니다. 연결된 오디오 소스가 오디오가 아닌 경우 switch Seeker를 사용하는 경우 제공업체는 가장 최근에 사용된 계정 키를 사용해야 합니다.

제공업체는 계정 키 필터를 계산하기 전에 첫 번째 바이트에 추가하여 사용 패턴에 다음 중 하나를 포함할 수 있습니다.

  1. 0b00000100
    이 계정 키는 사용되지 않습니다.
    이는 기본 키입니다 (계정 키 참고).
  2. 0b00000101
    이 계정 키가 가장 최근에 사용된 계정 키입니다.
    연결 상태 필드는 이 계정 키로 암호화됩니다. 없음 현재 연결 상태의 계정 키 정보가 없다면 연결된 기기가 오디오 전환 탐색 도구가 아닙니다.
  3. 0b00000110
    이 계정 키가 사용 중인 계정 키입니다.
    연결 상태 필드는 이 계정 키로 암호화되며 현재 연결된 기기가 이 계정 키와 연결되어 있습니다.
를 통해 개인정보처리방침을 정의할 수 있습니다.

오디오 전환 페이로드 도식

아래 그림은 오디오 전환 페이로드의 도식을 보여줍니다.

메시지

연결되면 탐색자와 제공업체가 메시지 스트림을 사용하여 오디오를 동기화할 수 있습니다. 스위치 기능, 연결 스위치 트리거, 전환 설정 및 가져오기 환경설정, 연결 상태 알림 등이 있습니다. 메시지 그룹을 만들고 메시지 코드입니다.

메시지 그룹 이름
오디오 전환 0x07

각 메시지 코드에 대한 추가 세부정보는 다음 섹션에 포함되어 있습니다.

메시지 코드 이름 멀티포인트만 보내는 사람 응답자 암호화 MAC 확인
오디오 전환 기능 얻기 0x10 N 둘 다 둘 다, 코드 0x11 사용 N 아니요 N
오디오 전환 기능 알림 0x11 N 둘 다 둘 다 N Y
멀티포인트 상태 설정 0x12 Y 탐색자 제공업체 N Y
전환 환경설정 지정 0x20 Y 탐색자 제공업체 N Y
전환 환경설정 가져오기 0x21 Y 탐색자 제공업체, 코드 0x22 사용 N 아니요 N
전환 환경설정 알림 0x22 Y 제공업체 탐색자 N 아니요 N
연결된 기기로 활성 오디오 소스 전환하기 0x30 Y 탐색자 제공업체 N Y
다시 전환 0x31 N 탐색자 제공업체 N Y
멀티포인트 전환 이벤트 알림 0x32 Y 제공업체 탐색자 N 아니요 N
연결 상태 가져오기 0x33 Y 탐색자 제공업체, 코드 0x34 사용 N 아니요 N
연결 상태 알림 0x34 Y 제공업체 탐색자 Y 아니요 N
오디오 전환이 시작된 연결 알림 0x40 N 탐색자 제공업체 N Y
사용 중인 계정 키 표시 0x41 N 탐색자 제공업체 N Y
맞춤 데이터 보내기 0x42 N 탐색자 제공업체 N Y
삭제 연결 타겟 설정 0x43 Y 탐색자 제공업체 N Y

표 4.3: 오디오 전환 메시지

오디오 전환 메시지의 MAC

메시지 인증을 제공하기 위해 모든 오디오 전환 메시지에 Seeker에서 제공업체로 전송된 데이터에는 메시지 인증 코드가 필요합니다. 날짜 MAC가 포함된 메시지가 수신되면 Seeker를 통해 확인되어야 합니다. 제공업체가 메시지에 반응했는지 알 수 있습니다.

메시지 인증이 성공하면 제공자는 메시지:

옥텟 데이터 유형 설명
0 uint8 확인 0xFF
1 uint8 확인 0x01
2~3명 uint16 추가 데이터 길이 다름
4 uint8 오디오 전환 0x07
5 uint8 오디오 전환 메시지 코드 다름
6~ 추가 데이터 다름

실패하는 경우 제공자는 메시지에 대한 NAK를 전송해야 합니다.

옥텟 데이터 유형 설명
0 uint8 확인 0xFF
1 uint8 NAK 0x02
2~3명 uint16 추가 데이터 길이 0x0003
4 uint8 오류 이유 다름
5 uint8 오디오 전환 0x07
6 uint8 오디오 전환 메시지 코드 다름

제공업체가 발신자인 경우 MAC가 필요하지 않습니다.

오디오 전환 기능 가져오기

오디오 전환 제공자와 탐색자 모두 연결된 빠른 페어링이 연결되어 있는지 확인할 수 있습니다. 탐색자/제공업체는 아래 메시지를 사용하여 오디오 전환을 지원할지 여부를 결정합니다.

옥텟 데이터 유형 설명
0 uint8 오디오 전환 0x07
1 uint8 오디오 전환 기능 가져오기 0x10
2~3명 uint16 추가 데이터 길이 0

표 4.3.1.0: 오디오 전환 기능 가져오기

오디오 전환 기능 알림

오디오 전환 기능 가져오기 메시지를 수신하면 오디오 전환 탐색자/제공업체는 플래그:

옥텟 데이터 유형 설명
0 uint8 오디오 전환 0x07
1 uint8 오디오 전환 기능 알림 0x11
2~3명 uint16 추가 데이터 길이 탐색자가 보낸 경우 20,
제공자가 보낸 경우 4
4~5명 uint16 오디오 전환 버전 코드 0이 아닌 값은 오디오 전환을 지원한다는 의미입니다. 현재 버전 (보안 향상 포함) 코드는 0x0102입니다.
0x0000 또는 1초에 응답이 없으면 이 기기에서 오디오 전환이 지원되지 않음
6~7 flags 제공자의 오디오 전환 기능 플래그입니다.
Seeker가 이 플래그를 전송하는 경우 이 2바이트는 무시해야 합니다.
다름
오디오 전환 기능 플래그 참고
8~15 메시지 nonce
Seeker가 보낸 경우에만 필요합니다.
다름
만 16~23세 메시지 인증 코드
Seeker가 보낸 경우에만 필요합니다.
다름

표 4.3.1.1: 오디오 전환 기능 알림

오디오 전환 기능 플래그
  1. 비트 0 (옥텟 6, MSB): 오디오 전환 상태

    • 1, 오디오 전환 상태가 켜져 있는 경우
    • 0, 그렇지 않으면
  2. 비트 1: 멀티포인트 구성 가능성

    • 1, 기기가 멀티포인트를 지원하고 켜짐 및 꺼짐 모드 간에 전환할 수 있는 경우 사용 안 함
    • 0, 그 외 (멀티포인트가 지원되지 않음 또는 멀티포인트가 상시 사용 설정됨)
  3. 비트 2: 멀티포인트 현재 상태

    • 1, 멀티포인트가 사용 설정된 경우
    • 0, 그렇지 않으면
  4. 비트 3: 온헤드 감지

    • 1: 이 기기에서 온헤드 감지를 지원하는 경우 (온헤드 감지가 지금 사용 중지됨)
    • 0, 그렇지 않으면
  5. 비트 4: 온헤드 감지 현재 상태

    • 1: 온헤드 감지가 사용 설정된 경우
    • 0, 그렇지 않은 경우 (온헤드 감지가 지원되지 않거나 온헤드 감지가 사용 중지됨)
  6. 다른 모든 비트는 예약되며 기본값은 0입니다.

멀티포인트 상태 설정

오디오 전환 탐색에서 사용자가 사용 또는 사용 중지하도록 설정할 수 있습니다. 멀티포인트 기능을 제공합니다. 탐색자는 멀티포인트 상태를 제공업체에 아래 메시지를 사용합니다.

옥텟 데이터 유형 설명
0 uint8 오디오 전환 0x07
1 uint8 멀티포인트 상태 설정 0x12
2~3명 uint16 추가 데이터 길이 17
4 uint8 멀티포인트 상태 0: 멀티포인트 끄기
1: 멀티포인트 켜짐
5~12 메시지 nonce 다름
13~20명 메시지 인증 코드 다름

표 4.3.1.2: 멀티포인트 상태 설정

전환 환경설정 지정

오디오 전환 탐색자는 멀티포인트 전환 환경설정을 수정하고 아래 메시지를 사용하여 제공업체에 전송합니다.

옥텟 데이터 유형 설명
0 uint8 오디오 전환 0x07
1 uint8 전환 환경설정 지정 0x20
2~3명 uint16 추가 데이터 길이 18
4 flags 환경설정 전환 중 다름
멀티포인트 전환 환경설정 플래그 참고
5 고급 전환 설정
이 바이트는 예약되어 있으며 기본값은 0입니다.
다름
6~13 메시지 nonce 다름
만 14~21세 메시지 인증 코드 다름

표 4.3.2.0: 전환 환경설정 지정

멀티포인트 전환 환경설정 플래그
  • 비트 0 (MSB): A2DP와 A2DP (기본값 0)
  • 비트 1: HFP vs HFP (기본값 0)
  • 비트 2: A2DP vs HFP (기본값 0)
  • 비트 3: HFP vs A2DP (기본값 1)
  • 비트 4~7: 예약됨
  • 위는 '새 프로필 요청'을 나타냅니다. '현재 활성 프로필' 대비 <ph type="x-smartling-placeholder">
      </ph>
    • 0: 전환하지 않음
    • 전환용 1개

전환 환경설정 가져오기

오디오 전환 탐색자는 단일 포트에서 멀티포인트의 전환 환경설정을 제공업체에 아래 메시지를 사용합니다.

옥텟 데이터 유형 설명
0 uint8 오디오 전환 0x07
1 uint8 전환 구성 가져오기 0x21
2~3명 uint16 추가 데이터 길이 0

표 4.3.2.1: 전환 환경설정 가져오기

전환 환경설정 알림

옥텟 데이터 유형 설명
0 uint8 오디오 전환 0x07
1 uint8 전환 환경설정 알림 0x22
2~3명 uint16 추가 데이터 길이 2
4 flags 환경설정 플래그 전환 다름
멀티포인트 전환 환경설정 플래그 참고
5 고급 전환 설정
이 바이트는 예약되어 있으며 기본값은 0이어야 합니다.
다름

표 4.3.2.2: 전환 환경설정 알림

활성 오디오 소스를 연결된 기기로 전환합니다.

오디오 전환 탐색자는 멀티포인트 제공업체에 활성 상태의 오디오 소스를 연결합니다.

옥텟 데이터 유형 설명
0 uint8 오디오 전환 0x07
1 uint8 활성 오디오 소스를 연결된 기기로 전환합니다. 0x30
2~3명 uint16 추가 데이터 길이 17
4 flags 활성 오디오 소스 이벤트 플래그 전환 다름
활성 오디오 소스 전환 이벤트를 참고하세요.
5~12 메시지 nonce 다름
13~20명 메시지 인증 코드 다름

표 4.3.3.0: (연결된 기기로) 활성 오디오 소스 전환

활성 오디오 소스 이벤트 전환
  • 비트 0 (MSB): 이 기기에 대한 스위치 1개, 두 번째 연결된 기기에 대한 스위치 0개
  • 비트 1: 전환 후 스위치에서 기기 1회 재생 재개, 그렇지 않은 경우 0회. 재생을 재개하면 제공업체가 탐색자에게 PLAY 알림을 전송합니다. AVRCP 프로필을 통해 전달됩니다. 이전 상태 (전환하기 전)가 PLAY를 사용하는 경우 제공업체는 이 플래그를 무시해야 합니다.
  • 비트 2: 1 전환된 원격 기기의 SCO 거부, 그렇지 않은 경우 0
  • 비트 3: 1은 기기 전환 시 블루투스 연결을 해제하고, 그렇지 않으면 0입니다.
  • 비트 4 - 7: 예약되었습니다.

오디오 전환 탐색자가 자신의 상태를 항상 정확하게 알지 못할 수도 있으므로 가능함 제공업체가 '이 기기로 전환'을 수신할 수 있도록 메시지가 표시될 때 활성화해야 합니다. 이 경우 Seeker에서 올바른 UI를 표시하기 위해 제공업체는 오류 이유인 0x4 - 중복 기기 작업과 함께 NAK를 전송할 수 있습니다.

LE 오디오 제공업체의 회원이 2명 이상인 경우 제공업체는 다음과 같은 조치를 취해야 합니다. Seeker에서 모든 멤버의 연결을 끊어야 합니다. 그러지 않으면 탐색자가 제공업체에 다시 연결됩니다.

다시 전환 (연결 해제된 기기로)

연결 전환이 원치 않는 경우 사용자는 전환을 되돌릴 수 있으며 오디오 연결을 복원하는 것이 발생할 수 있습니다 탐색자는 아래 메시지를 사용하여 다시 전환을 트리거합니다.

옥텟 데이터 유형 설명
0 uint8 오디오 전환 0x07
1 uint8 다시 전환 (연결 해제된 기기로) 0x31
2~3명 uint16 추가 데이터 길이 17
4 uint8 이전 이벤트로 전환 다양함
0x01: 뒤로 전환
0x02: 뒤로 전환 및 재생 다시 시작
5~12 메시지 nonce 다름
13~20명 메시지 인증 코드 다름

표 4.3.3.1: 다시 전환 (연결 해제된 기기로)

멀티포인트 제공자의 경우 연결 전환을 위해 제공자는 하나의 오디오 소스 기기와 연결하고 다른 오디오 세션을 일시중지합니다. 오디오 소스입니다. 예를 들어 멀티포인트 헤드셋이 태블릿 및 세 번째 지원되는 오디오 전환 기기가 있어야 합니다. 사용자가 동영상을 시청하고 있습니다. 태블릿에 수신 전화가 걸려 올 때 태블릿에 태블릿이 표시됩니다. 휴대전화가 실행됩니다. 헤드셋에 연결 스위치가 있어 세 번째 기기의 연결해야 합니다. 세션을 사용하여 휴대전화의 벨소리를 받아 보세요. 사용자가 거부하는 경우 통화할 때 휴대전화에서 헤드셋에 '다시 전환하여 재생을 다시 시작'하라고 요청할 수 있습니다. 이 요청을 받으면 헤드셋을 세 번째 기기에 다시 연결해야 합니다. 일시중지된 동영상을 태블릿에서 다시 재생

멀티포인트 전환 이벤트 알림

사용자가 멀티포인트 스위치 이벤트가 발생함을 알 수 있도록 오디오 전환 탐색자가 사용자에게 알림을 표시할 수 있습니다. 제공업체는 연결 상태를 오디오 전환 전환 이벤트에 대한 탐색자입니다.

옥텟 데이터 유형 설명
0 uint8 오디오 전환 0x07
1 uint8 멀티포인트 전환 이벤트를 알립니다.
제공자는 오디오 전환 시커를 오디오 외 전환 탐색자로, 비 오디오 전환 시커에서 오디오 전환 시커로, 오디오 전환 시커에서 오디오 전환 시커로 이동하는 등 모든 전환 시 이를 전송해야 합니다.
0x32
2~3명 uint16 추가 데이터 길이 다름
4 uint8 전환 이유
이 값은 연결 상태에 따라 결정되어야 합니다. LE 오디오 사용 사례의 경우 LE 오디오 컨텍스트 유형과 연결 상태 간의 매핑을 살펴보는 것이 유용할 수 있습니다. 예를 들어 음성 어시스턴트에 해당하는 연결 상태는 0x9(LE 오디오 - 통화 스트리밍)입니다. 따라서 음성 어시스턴트에서 시작된 스위치의 전환 이유는 0x02여야 합니다.
다름
0x00: 지정되지 않음
0x01: 미디어 (예: A2DP 스트리밍, LEA 미디어 스트리밍)
0x02: 통화 (예: HFP 스트리밍, LEA 통화 스트리밍)
5 uint8 대상 기기 다름
0x01: 이 기기
0x02: 연결된 다른 기기
6~n utf8 대상 기기 이름:
대상 기기가 Audio switch Seeker인 경우 탐색자가 보낸 이름을 사용하고, 해당하지 않는 경우 주소의 마지막 2바이트를 사용해 BT 이름을 사용합니다.
다름

표 4.3.3.2: 멀티포인트 전환 이벤트 알림

연결 상태 가져오기

탐색자가 제공자로부터 현재 연결 상태를 가져올 수 있습니다.

옥텟 데이터 유형 설명
0 uint8 오디오 전환 0x07
1 uint8 연결 상태 가져오기 0x33
2~3명 uint16 추가 데이터 길이 0

표 4.3.3.3: 연결 상태 가져오기

제공자는 이 메시지를 수신한 후 메시지 코드로 응답해야 합니다. 0x34, 연결 상태를 알립니다.

연결 상태 알림

BLE 광고 페이로드에 정의된 대로 멀티포인트 제공자(연결 상태가 변경되면(연결 상태가 변경되는 경우는 제외) 공급자는 연결된 탐색자에게도 해당 패킷에 대해 알려야 합니다. 동일한 계정 키를 사용하고 있는지 확인 제공업체가 연결된 경우 오디오 전환 탐색자와 비 오디오 전환 탐색자가 있는 switch Seeker가 활성 상태인 경우 제공업체는 연결된 오디오 Seeker의 계정 키를 사용하여 연결 상태에 대해 Seeker를 전환합니다.

옥텟 데이터 유형 설명
0 uint8 오디오 전환 0x07
1 uint8 연결 상태 알림 0x34
2~3명 uint16 추가 데이터 길이 다름
4 uint8 활성 기기 플래그 다름
0x00: 이 탐색자는 수동적이며, 활성 기기는 동일한 계정 키
0x01을 사용합니다. 이 시커는 활성 기기입니다.
0x02: 이 시커는 수동적이며 활성 기기는 비 오디오 스위치 탐색기입니다.
5~n 암호화된 연결 상태 다름
n+1~n+8 메시지 nonce 다름

표 4.3.3.4: 연결 상태 알림

암호화된 연결 상태 메시지

 encrypted_connection_status = connection_status_raw_data ^ AES(Key, IV)

각 항목의 의미는 다음과 같습니다.

오디오 전환이 시작된 연결 알림

오디오 전환 제공업체는 연결 전환이 트리거되었는지 알아야 할 수 있습니다. 다르게 반응할 수 있습니다. 예를 들어 오디오용 이어콘 사용 중지 switch 이벤트. 탐색자는 메시지를 보내 공급자에게 이 사실을 알립니다. 연결이 오디오 전환이 시작된 연결이었습니다.

옥텟 데이터 유형 설명
0 uint8 오디오 전환 0x07
1 uint8 오디오 전환이 시작된 연결 알림 0x40
2~3명 uint16 추가 데이터 길이 17
4 uint8 오디오 전환이 시작된 연결 표시 다름
0: 이 연결이 오디오 전환에 의해 트리거되지 않았습니다.
1: 오디오 전환이 시작된 연결입니다.
5~12 메시지 nonce 다름
13~20명 메시지 인증 코드 다름

표 4.3.4.0: 오디오 전환이 시작된 연결 알림

사용 중인 계정 키 표시

탐색자의 여러 계정 키 (예: 다중 사용자)가 해당 탐색자는 아래의 메시지를 사용하여 해당 서비스 계정에 대한 키가 사용 중인지 확인합니다.

옥텟 데이터 유형 설명
0 uint8 오디오 전환 0x07
1 uint8 사용 중인 계정 키 표시 0x41
2~3명 uint16 추가 데이터 길이 22
4~9명 utf8 사용 중인 문자열 UTF8('사용 중')
10~17명 메시지 nonce 다름
만 18~25세 메시지 인증 코드 다름

표 4.3.4.1: 사용 중인 계정 키 표시

제공업체는 이 메시지를 받으면 사용 중인 계정 키를 알 수 있습니다. 메일 인증 코드를 확인하여

맞춤 데이터 전송

활성 오디오 전환 탐색자는 정보를 캡슐화할 수 있습니다 (예: 오디오 전환 시 오디오 스트림의 오디오 스트림 사용)을 캡처하고 아래 메시지가 표시됩니다.

옥텟 데이터 유형 설명
0 uint8 오디오 전환 0x07
1 uint8 맞춤 데이터 전송 0x42
2~3명 uint16 추가 데이터 길이 17
4 uint8 맞춤 데이터 다름
5~12 메시지 nonce 다름
13~20명 메시지 인증 코드 다름

표 4.3.4.2: 맞춤 데이터 전송

제공업체는 맞춤 데이터를 수신한 후 광고 패킷을 업데이트합니다. 맞춤 데이터를 포함할 수 있습니다. 멀티포인트 제공자의 경우 동일한 계정 키를 사용하여 연결된 다른 탐색자로 연결 상태가 변경됩니다.

드롭 연결 타겟 설정

멀티포인트 헤드셋에서 중단하려는 기본 연결이 오디오 전환 탐색자는 제공자가 어떤 기기를 사용할지 아래 메시지를 사용하여 드롭하세요.

옥텟 데이터 유형 설명
0 uint8 오디오 전환 0x07
1 uint8 드롭 연결 타겟 설정 0x43
2~3명 uint16 추가 데이터 길이 17
4 uint8 삭제할 연결된 기기 타겟팅 다름
1: 이 기기
5~12 메시지 nonce 다름
13~20명 메시지 인증 코드 다름

표 4.3.4.3: 드롭 연결 타겟 설정

참조 구현

참조 구현은 Nearby 삽입된 SDK 라이브러리를 참고하세요.