Bluetooth A2DP:現在のビットプールをインポートする

Bluetooth A2DP:現在のビットプールをインポートする

SBCコーデックでA2DPを使用すると生成されるビットレート主にビットプールパラメータによって異なります

今私のLinuxコンピュータでは、私の目標は、Bluetooth A2DPレシーバーでオーディオを再生するときのビットプール値を理解することです。 Wiresharkを使用してこのBluetoothレシーバーに接続している間にフレームをキャプチャし、AVDTPプロトコルフレームでBluetoothレシーバーのフレームインポート/設定機能を見つけました。実際のA2Dpコーデック構成を表示できます。

Service: Media Codec - Audio SBC (44100 | JointStereo | block: 16 | subbands: 8 | allocation: Loudness | bitpool: 2..53) 

ビットプールの範囲値は出てきますが、再生中のラジオ接続状態が悪いと値が変わることもあります。

ゲーム中に現在のビットプールを取得する方法は?

再生前と再生中にBluetoothフレームをキャプチャしましたが、ビットプールの現在値を提供するフレームが見つかりませんでした。 (再生中のほとんどのフレームはHCI H4フレームです。)

答え1

オーディオを再生するときは、bluemanアプレットを使用してオーディオプロファイルA2DPまたはSCOを選択できます。 A2DPプロファイルを選択する必要があります。その後、フレームをデコードするためには、ワイヤーシャークを使用してすべてのBluetooth接続プロセスを記録する必要があります。それ以外の場合、デコードされたフレームはWiresharkにL2CAPまたはHCI H4フレームとして表示されます。フレームを開くと見えます。

フレームが「接続ハンドル」セッションに属していません。

したがって、BTセッション全体を録音した後にSBCフレームを取得できます。ビットプール情報はこれらのフレームに提供されます。

ここに画像の説明を入力してください。

答え2

ビットプール値はフレームの3番目のバイトで、最初のバイトは常に9Cです。

関連情報