ヒアリング コントロール
ファスト ペアリングのヒアブル コントロールは、Android の重要なヒアブル機能に対するアクセス制御を改善することを目的としています。これを実現するために、メッセージ ストリーム内に新しいメッセージ グループ Hearable コントロールが追加されました。
メッセージ グループ名 | 値 |
---|---|
ヒアリング コントロール | 0x08 |
アクティブ ノイズ コントロール
アクティブ ノイズ コントロールは、プレミアム ヘッドフォンの中でも主要な機能になりつつあります。シーカー側では、ファスト ペアリングに状態を設定、取得、保存するための UI とロジックがあり、状態はプロバイダ側に保存されます。イベント ストリームが接続されている場合、プロバイダはセッション ノンスを送信する必要があります。これを実現するため、以下のメッセージ コードを定義します。
メッセージ コード名 | 値 | ギフトの送り主 | 回答者 | MAC | ACK |
---|---|---|---|---|---|
ANC 状態の取得 | 0x11 | 探求者 | プロバイダ | N | N |
ANC 状態の設定 | 0x12 | 探求者 | プロバイダ | ○ | ○ |
ANC 状態の通知 | 0x13 | プロバイダ | 探求者 | N | N |
シーカーがプロバイダに接続するとき、またはプロバイダが「ANC 状態を取得」メッセージを受信すると、プロバイダは ANC 状態を通知して、シーカーに 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 | フラグ | 現在の状態 設定できるのは 1 ビットのみです |
場合によって異なる |
シーカーには、ANC コントロール データに応じた切り替え UI が表示されます。
例 1: プロバイダが 3 方向 ANC をサポートしている場合: 透過 - オフ - ANC とイヤフォンがオンヘッドで、すべてのモードが現時点で設定可能で、現在の状態がオフになっています。
Byte | データ型 | 説明 | 値 |
---|---|---|---|
0 | uint8 | バージョン コード | 0x01 |
1 | フラグ | UI の切り替え | 0b10101000 |
2 | フラグ | 設定可能な切り替えスイッチ | 0b10101000 |
3 | フラグ | 現在の状態 | 0b00100000 |
例 2: プロバイダが 3 方向 ANC(トランスペアレント - オフ - ANC)をサポートしており、左右どちらか一方のイヤフォンのみが装着されている、またはイヤホンが装着されていないため、モードを設定できず、現在の状態がオフになっています。
Byte | データ型 | 説明 | 値 |
---|---|---|---|
0 | uint8 | バージョン コード | 0x01 |
1 | フラグ | UI の切り替え | 0b10101000 |
2 | フラグ | 設定可能な切り替え | 0b00000000 |
3 | フラグ | 現在の状態 | 0b00100000 |
ユーザーが切り替えを切り替えると、シーカーは次のように現在の状態をプロバイダに設定します。
Byte | データ型 | 説明 | 値 |
---|---|---|---|
0 | uint8 | ヒアリング コントロール | 0x08 |
1 | uint8 | ANC 状態の設定 | 0x12 |
2 ~ 3 | uint16 | 追加データの長さ | 可変、0x04 または 0x14 |
4 | uint8 | シーカーのバージョン コード | 可変、0x01 または 0x02 |
5 | フラグ | ANC 設定可能モード(UI の切り替え) | 場合によって異なる |
6 | フラグ | ANC 有効モード(設定可能切り替え) | 場合によって異なる |
7 | フラグ | 新しい ANC モードのインデックス(新しい状態) | 場合によって異なる |
8 ~ 23 | 予約済み | 場合によって異なる |
バイト 4 ~ 7 は実際には、シーカー側から送信された ANC 制御データです。追加の長さの値が 0x14 に設定されている場合、予約済みのバイト 8 ~ 23 が存在し、これらのバイトの受信時にプロバイダは無視する必要があります。追加長の値が 0x04 に設定されている場合、予約バイトは存在しません。
プロバイダは「ANC 状態を設定」メッセージを受信した場合、応答して、接続されているすべてのシーカーに ANC 状態を通知する必要があります。ユーザーがヘッドセット ジェスチャーまたはコンパニオン アプリを介して設定を変更した場合、プロバイダは、接続されているすべてのシーカーに通知も送信する必要があります。