히어러블 컨트롤
빠른 페어링의 히어러블 컨트롤은 Android의 중요한 히어러블 기능에 대한 더 나은 액세스 컨트롤을 제공하는 것을 목표로 합니다. 이를 위해 메시지 스트림 내에 새로운 메시지 그룹인 히어러블 컨트롤이 추가되었습니다.
| 메시지 그룹 이름 | 값 |
|---|---|
| 히어러블 컨트롤 | 0x08 |
액티브 노이즈 제어
액티브 노이즈 제어는 프리미엄 헤드폰의 주요 기능이 되고 있습니다. Seeker 측에서 빠른 페어링은 상태를 설정, 가져오기, 저장하는 UI와 로직을 가지며 상태는 제공업체 측에 저장됩니다. 이벤트 스트림이 연결되면 제공업체는 세션 Nonce를 전송해야 합니다. 이를 위해 아래 메시지 코드가 정의됩니다.
| 메시지 코드 이름 | 값 | 보내는 사람 | 응답자 | MAC | 확인 |
|---|---|---|---|---|---|
| ANC 상태 가져오기 | 0x11 | Seeker | 제공업체 | N | N |
| ANC 상태 설정 | 0x12 | Seeker | 제공업체 | Y | Y |
| ANC 상태 알림 | 0x13 | 제공업체 | Seeker | N | N |
Seeker가 제공업체에 연결되거나 제공업체가 'ANC 상태 가져오기' 메시지를 수신하면 제공업체는 ANC 상태를 알려 Seeker에게 ANC 기능과 저장된 상태를 알릴 수 있습니다. 메시지는 다음과 같습니다.
| Byte | 데이터 유형 | 설명 | 값 |
|---|---|---|---|
| 0 | uint8 | 히어러블 컨트롤 | 0x08 |
| 1 | uint8 | ANC 상태 알림 | 0x13 |
| 2~3 | uint16 | 추가 데이터 길이 | 0x04 |
| 4~7 | ANC 제어 데이터 | 다름 |
ANC 제어 데이터
| Byte | 데이터 유형 | 설명 | 값 |
|---|---|---|---|
| 0 | uint8 | 버전 코드 | 다름, 이 버전의 경우 0x02 |
| 1 | 플래그 | UI 전환 각 모드는 플래그 비트의 값에 따라 다음과 같이 사용 설정 (1) 또는 사용 중지 (0)됩니다. 비트 0 (MSB): 투명 비트 1: 스마트 오디오 (지원되지 않음인 경우 0) 비트 2: 사용 안함 비트 3: 예약됨 (비트를 0으로 설정) 비트 4: ANC |
다름 |
| 2 | 플래그 | 설정 가능한 전환 현재 사용 설정된 항목을 나타내기 위해 위의 UI 전환 비트 중 일부 또는 전부를 여기에 설정할 수도 있습니다. |
다름 |
| 3 | 플래그 | 현재 상태 비트는 하나만 설정할 수 있으며 이 바이트의 값은 0이 아니어야 합니다. |
다름 |
Seeker는 ANC 제어 데이터에 따라 전환 UI를 표시합니다.
예 1: 제공업체는 3방향 ANC(투명 - 사용 안함 - ANC)를 지원하고 이어버드가 머리에 있으며 모든 모드를 이제 설정할 수 있고 현재 상태는 사용 안함입니다.
| Byte | 데이터 유형 | 설명 | 값 |
|---|---|---|---|
| 0 | uint8 | 버전 코드 | 0x02 |
| 1 | 플래그 | UI 전환 | 0b10101000 |
| 2 | 플래그 | 설정 가능한 전환 | 0b10101000 |
| 3 | 플래그 | 현재 상태 | 0b00100000 |
예 2: 제공업체는 3방향 ANC(투명 - 사용 안함 - ANC)를 지원하고 이어버드가 하나만 머리에 있거나 이어버드가 머리에 없으므로 모드를 설정할 수 없으며 현재 상태는 사용 안함입니다.
| Byte | 데이터 유형 | 설명 | 값 |
|---|---|---|---|
| 0 | uint8 | 버전 코드 | 0x02 |
| 1 | 플래그 | UI 전환 | 0b10101000 |
| 2 | 플래그 | 설정 가능한 전환 | 0b00000000 |
| 3 | 플래그 | 현재 상태 | 0b00100000 |
사용자가 전환을 전환하면 Seeker는 현재 상태를 제공업체에 다음과 같이 설정합니다.
| Byte | 데이터 유형 | 설명 | 값 |
|---|---|---|---|
| 0 | uint8 | 히어러블 컨트롤 | 0x08 |
| 1 | uint8 | ANC 상태 설정 | 0x12 |
| 2~3 | uint16 | 추가 데이터 길이 | 다름, 0x04 또는 0x14 |
| 4 | uint8 | Seeker 버전 코드 | 다름, 0x01 또는 0x02 |
| 5 | 플래그 | ANC 설정 가능한 모드 (UI 전환) | 다름 |
| 6 | 플래그 | ANC 사용 설정된 모드 (설정 가능한 전환) | 다름 |
| 7 | 플래그 | 새 ANC 모드 색인 (새 상태) | 다름 |
| 8~23 | 예약됨 | 다름 |
바이트 4~7은 실제로 ANC 제어 데이터가 Seeker 측에서 전송된 것입니다. 추가 길이 값이 0x14로 설정된 경우 예약된 바이트 8~23이 존재하며 이러한 바이트를 수신하면 제공업체는 이를 무시해야 합니다. 추가 길이 값이 0x04로 설정된 경우 예약된 바이트가 없습니다.
제공업체가 'ANC 상태 설정' 메시지를 수신하면 확인하고 연결된 모든 Seeker에게 ANC 상태를 알려야 합니다. 사용자가 헤드셋 동작 또는 컴패니언 애플리케이션을 통해 설정을 변경하는 경우 제공업체는 연결된 모든 Seeker에게 알림을 전송해야 합니다.
예 3: 제공업체는 4방향 ANC(투명 - 스마트 오디오 - 사용 안함 - ANC)를 지원하고 이어버드가 머리에 있으며 모든 모드를 이제 설정할 수 있고 현재 상태는 스마트 오디오입니다.
| Byte | 데이터 유형 | 설명 | 값 |
|---|---|---|---|
| 0 | uint8 | 버전 코드 | 0x02 |
| 1 | 플래그 | UI 전환 | 0b11101000 |
| 2 | 플래그 | 설정 가능한 전환 | 0b11101000 |
| 3 | 플래그 | 현재 상태 | 0b01000000 |