Bluetooth経由でオーディオを送受信できるようにする必要があり、A2DPがこれを行うものであるようです
ここに記載されているコードを使用して、携帯電話を検出してリモート Bluetooth デバイスとペアリングし、Android デバイスのすべてのオーディオ出力を Bluetooth 経由でリモート デバイスに送信する A2DP 接続を確立することができました。
以前は、RFCOMM を介して同じリモート Bluetooth デバイスと双方向のデータ通信を行うことができました (ただし、通信を開始するのは Android 携帯電話である必要がありましたが、可能であることはわかっていますが、リモート デバイスを介して行うことはできませんでした)。RFCOMM リンクが確立されると、Android デバイスはリモート デバイスにデータを送信したり、リモート デバイスからデータを受信したりできます。
私が今必要としているのは、似たようなものですが、オーディオ用です (できれば A2DP を使用しますが、仕事が完了する限り、他のものを使用してもかまいません)。SO を詮索しているときに、A2DP を介して電話で音声データを受信することはできないというヒントが得られました (少なくとも、ルート化されていない通常のものであり、ルート化は私にとってはオプションではありません) (たとえば、ここを参照)。しかし、Bluetooth を介して完全に電話をかけることができるヘッドセットも見たことがあります (まあ、実際にはワイヤレスで、Bluetooth に違いないと思います)。たとえば、電話がかかってきた場合、Bluetooth イヤホンのボタンを押すだけで、相手の話を聞くだけでなく、話すこともできます。電話をオーディオ シンクとして使用できない場合、そのようなヘッドセットはどのように機能しますか?
Bluetooth経由でオーディオデータを送信および受信するAndroidアプリを作成する方法についていくつかのアイデアが必要です(簡単にするために、Bluechatサンプルプログラムに似ていますが、テキストではなくオーディオを含むと考えてください)。(Javaを介して)それはまったく可能ですか?NDK 経由でのみ可能ですか? 市場に出回っているデバイスはどのように機能しますか? A2DPとは別のプロファイルですか?
PS: 私のテスト デバイスは、Gingerbread を搭載した Samsung Galaxy 2 (電話) と KitKat を搭載した Asus Nexus 7 (タブレット) です。ちなみに、リモート bluetooth デバイス (開発ボード) には、ボードを A2DP オーディオ ソースに変換するサンプル プロジェクトが付属しています。このサンプル プロジェクトをボード上で実行し、携帯電話とタブレットの組み込みの Bluetooth 設定を使用すると、リモート ボードとペアリングできますが、Android デバイスはオーディオを受信しません。