Bluetooth Low Energy オーディオ

Bluetooth Low Energy Audio(LEA)により、ユーザーはバッテリー駆動時間を犠牲にすることなく Hi-Fi オーディオを受信でき、さまざまなユースケースをシームレスに切り替えることができます。Android 13(API レベル 33)には、LEA の組み込みサポートが含まれています。

LEA ソースデバイスのマーケット シェアが拡大するまで、ほとんどの LEA ヘッドセットはデュアルモードになります。ユーザーはデュアルモード ヘッドセットで両方のトランスポートをペア設定して設定できるようになります。

使用場面

次のようなユースケースでは、LEA の統合をおすすめします。

  • 音声の共有: 複数のオーディオ ストリームを 1 つ以上のオーディオ シンクデバイスに同時に共有できます。音声はソースデバイスと接続済みデバイス間で同期されます。

  • 音声ブロードキャスト: 友人や家族に音声をブロードキャストできるほか、情報、エンターテイメント、ユーザー補助のために一般公開のブロードキャストに接続することもできます。

  • LC3 オーディオ コーデックのサポート: デフォルトのオーディオ コーデックです。A2DP(メディア)と HFP(音声)の mSBC に使用される SBC コーデックの後継です。LC3 は効率的で、再構成が可能で、品質も優れています。

  • 音声サンプリングの改善: ヘッドセットは、マイク使用時に高い出力音質を維持できます。Bluetooth クラシックでは、Bluetooth マイク使用時の音質が下がります。BLE オーディオでは、入出力のサンプリングは 32 kHz まで可能です。

  • ステレオマイク: イヤフォンはステレオマイクで音声を録音し、空間オーディオを強化できます。

  • 補聴器プロファイル(HAP)のサポート: HAP は、従来の ASHA プロトコルよりもアクセスしやすく利用しやすいものです。補聴器を使用して通話や VoIP アプリケーションを使用できます。

  • 拡張属性プロトコル(EATT)のサポート: EATT を使用すると、デベロッパーはペア設定されたイヤフォンに複数のコマンドを一度に送信できます。

主なシナリオ

ユースケースは主に 4 つのカテゴリに分けられます。

  1. 会話型: 低レイテンシの通信ルーティングを必要とする電話アプリや VoIP アプリは、高音質のオーディオを提供し、バッテリー使用量を削減します。

  2. ゲーム: マイクの同時再生と高忠実度再生により、ゲームで高品質な音声を聴取可能デバイスにストリーミングできます。ゲームアプリが Bluetooth マイクを使用可能として監視すると、ゲームアプリは BLE オーディオ入力にアクセスできるようになります。プレーヤーがピア プレーヤーとのライブ会話を開始すると、ゲームアプリは遅延なくマイクデータを使用できます。

  3. Media: メディアアプリは、オーディオ マネージャーの優先デバイスを設定できます。ユーザーは、システムの設定内で自分の優先デバイスを変更することで、この設定をオーバーライドできます。

  4. ユーザー補助: BLE オーディオに対応する補聴器でマイクを使用できるようになり、補聴器を使い続けて通話できるようになりました。

BLE オーディオの API とメソッド

BLE オーディオ再生可能デバイスをサポートするには、次の API とメソッドが必要です。

オーディオ マネージャー

  • setCommunicationDevice(): 音声通話やビデオ通話などの通信のユースケースに使用するオーディオ機器を選択します。この方法では、ボイス チャットやビデオチャット アプリケーションで、プラットフォームでデフォルトで選択されているものとは異なるオーディオ機器を選択できます。この API は、サポートが終了した API(startBluetoothSco()stopBluetoothSco()setSpeakerphoneOn())に代わるものです。
  • clearCommunicationDevice は、アプリ間での移動時にユーザー エクスペリエンスが快適になるように、通話またはセッションの終了後に呼び出されます。

BluetoothProfile

  • BluetoothLeAudio は、プロキシ オブジェクトを介して Bluetooth サービスを制御します。

通信着信サービス

オーディオ機器情報

  • AudioDeviceInfo.TYPE_BLE_HEADSET は、オーディオ デバイスタイプを LEA デバイスとして記述します。イヤホン デバイスが LEA デバイスであるかどうかを識別するために使用されます。

音声レコーダー

  • setPreferredDevice() は、音声ルーティングに使用する優先デバイスを設定します。ユーザーは、システム設定でこの設定をオーバーライドできます。

Bluetooth アダプター

  • isLeAudioSupported() は、プラットフォームのハードウェアが LEA をサポートしている場合に返されます。
  • isLeAudioBroadcastSourceSupported() は、プラットフォームのハードウェアが LEA をサポートしている場合に返されます。

ユースケースに基づくガイド

以下に、特定のユースケースに基づいた LEA の実装に関するガイドラインを示します。

音声通信アプリケーション

音声通信アプリケーションで音声ルーティングとデバイス状態を管理するには、状態を自己管理するか、Telecom API を使用して音声ルーティングと状態ロジックを実行するかを選択します。

音声録音アプリ

  • メディア レコーダー: メディア レコーダーを使用して音声を録音する際、Bluetooth のオーディオ再生可能デバイスが LEA に対応している場合は、ステレオで録音できるようになりました。音声録音ガイドをご覧ください。

LE Audio(LEA)ヘッドセットのおすすめ

LEA ヘッドセットがリリースされるにつれ、実際のテストでは、ユーザー エクスペリエンスが低下する問題が見つかりました。この仕様は、こうした問題をすべて網羅しているわけではありません。次の表に、Android ユーザーのエンドツーエンドのエクスペリエンスを向上させるために LEA ヘッドセット メーカーが従うべき推奨事項を示します。

説明 コンテキスト
デュアルモード ヘッドセットでの Cross Transport Key Derivation(CTKD)のサポート:
  • Classic から LE へのペア設定と LE から Classic へのペア設定の両方の鍵導出をサポートします。
新しい LEA ヘッドセットのほとんどは、LEA ソースデバイスのマーケット シェアが拡大するまでデュアルモードになります。ユーザーがデュアルモード ヘッドセットをシームレスにペア設定し、両方のトランスポートを設定できることが重要です。これは Google ファスト ペアリングでも重要です。

LEA ヘッドセットをソースデバイスに確実に再接続する場合は、対象を絞った通知(TA)をサポートします。

LE Audio イヤフォンは、TA を使用してセントラル デバイスからの受信接続をリクエストします。

今後の BT SIG に追加される予定。

スマートフォンとヘッドセットのどちらから接続を開始できる BR/EDR のページング モデルとは異なり、LEA での接続はセントラル デバイスから開始する必要があります。現在、多くのヘッドセットでは TA が使用されていません。つまり、許可リストに追加しないと、セントラル デバイスがペリフェラルに再接続できない場合があります。ただし、許可リストの回避策により、ヘッドセットが別のセントラル デバイスに接続できなくなる可能性があります。そのため、マルチポイント接続が切断される可能性のある回避策を行わずに、中央のデバイスが確実に再接続できるように、LEA ヘッドセットが TA を適切にサポートすることが重要です。
デュアルモード イヤフォンの見つけやすさを最適化
  • プライマリ イヤホン - BR/EDR コンポーネントは、パブリック アドレスを使用してアドバタイズし、EIR を通じて利用可能な名前による問い合わせとページスキャンを有効にして、デバイス クラス(CoD)のメジャー サービス クラスで LE Audio ビット 14 を 1 に設定します。
  • プライマリ イヤホン - LE コンポーネント: プライマリ イヤホンは、BR/EDR コンポーネントと同じパブリック アドレス、および BR/EDR コンポーネントと同じ完全ローカル名を使用して、接続可能かつ検出可能(限定または一般)のアドバタイズメントを実行します。また、リモート デバイスタイプと一致する外観カテゴリを、デバイスの UI とデバイスの UI および中央のルーティング ポリシーに合わせて調整します。
  • セカンダリ イヤホン - LE のみ: セカンダリ イヤホンは、接続可能、検出不可のアドバタイズメントを実行します。このアドバタイズメントでは、リモート デバイスタイプに一致する外観カテゴリに適切な外観カテゴリを設定し、セントラル デバイスがこの情報を使用して UI やオーディオ ルーティング ポリシーを調整するという想定を行います。

    イヤフォンは、CSIP グループからリーダーを動的に選択し、プライマリ デバイスにする必要があります。イヤフォンがデュアルモードの場合は、ペア設定後に LE と Classic の両方の機能が正常に機能するように、プライマリ デバイスをデュアルモードにする必要があります。

これにより、デュアルモードの LEA イヤフォンが Bluetooth 設定で重複するエントリとして表示されなくなることがあります。このことが、ユーザーを混乱させ、LEA のペア設定を損なうおそれがあります。

動的なリーダー選出は、段階的にペア設定されるデュアルモード デバイスでは特に重要です。たとえば、最初のペア設定時に片方のイヤフォンしか使用できない場合は、イヤフォン自体がデュアルモード デバイスとして表示されます。ユーザーが後で 2 つ目のイヤフォンとペア設定するときに、LE コンポーネントとペア設定するだけで、CSIP によって Android 上でグループ化されます。

BR/EDR コンポーネントはすでにデバイスのパブリック アドレスを付近のデバイスに公開しているため、ペア設定の際に ID アドレスを使用することをおすすめします。

Enhanced Attribute Protocol(EATT)のサポート ペア設定と接続の遅延を軽減します。
堅牢な GATT キャッシュをサポートする。 特に TWS イヤホンの接続レイテンシを短縮します。
接続のサブレーティングをサポートしている。 より柔軟なパケット スケジューリングが可能になり、バッテリーを節約できる可能性があります。
再生とキャプチャの両方の前処理と後処理で、信号処理パイプラインが 16、24、32、48 kHz で動作し、より高い周波数をサポートできることを確認します。 LEA 通話または VoIP のキャプチャパスとメディア再生でサポートされているより高いサンプリング レートを利用できます。
LE Power Control のサポート 電源管理の強化

コンテキスト タイプのサポート

説明 コンテキスト
ヘッドセットが特定のコンテキスト タイプを明示的にサポートしていない場合を除き、Assigned Numbers 6.12.3 で指定されているすべてのコンテキスト タイプを使用します。 たとえば、コンテキスト タイプ「ゲーム」がサポートされていない場合、Android はゲームサウンドを送信します。特に、「指定なし」のコンテキスト タイプは「任意のコンテキスト タイプ」を意味せず、サポートされていないコンテキスト タイプを網羅しないことに注意してください。

セントラル デバイスがペリフェラル デバイスの ASCS とやり取りする場合、ペリフェラルはセントラル デバイスの MCS および TBS に接続する必要があります。

中央のデバイスは、LE Audio をストリーミング ルートとして常に使用するとは限りません。これは、A2DP または HFP の使用にフォールバックする場合があるためです。ペリフェラル デバイスは、ASCS インタラクションを使用して、中央デバイスがストリーミングに LE Audio を使用するかどうかを示すことができます。

ASCS インタラクションの例としては、読み取り、書き込み、通知への登録があります。