AVRCPベンダー依存またはパススルーコマンドを使用して別のBluetoothデバイスと通信したい。利用可能なAPIから、Androidアプリケーションからそのような呼び出しを行う方法はないようです。誰かがこれが可能かどうか、そして可能であればこれをどのように行うことができるかについてアドバイスできますか?
3 に答える
あなたがすべきことは、直接行き、BlueZ Bluetooth スタックの HCI レイヤーと話すことです。これは、ユーザー空間から実行できる D-Buss デーモンを介して実行できます。次に、たとえば1.0の ARVCP 仕様を取得しますが、Bluetooth SIG AVRCP 1.3 または 1.4 仕様でも見つけることができ、コマンドの解析を開始します。このプレゼンテーションは役に立つはずです: Android Bluetooth Introduction and this stackoverflow question .
以下のリンクを参照してください。
Bluetooth デバイス間で最も一般的な問題である、Bluetooth 互換性の問題に直面しているようです。Bluetooth プロファイルはオーディオ関連の動作を厳密に定義していないため、異なるメーカーによって実装された異なる動作がこの問題を引き起こします。そのため、すべての Bluetooth デバイスが Bluetooth 組織の Bluetooth 互換性テストに合格する必要がありますが、すべての問題を排除することはできません。
Bluetooth プロトコル スタックのオープン ソース実装として、Blue Z は私の考えでは最良のものではなく、Bluetooth デバイスの異常な動作も問題を引き起こしています。PTS (プロファイル チューニング スイート) などのテスト ツールがある場合は、それを使用して、どちらが問題を引き起こしているかを調べてください。プロファイル側ですべて問題がなければ、それはあなたにとって朗報です。問題は、関連するアプリケーションのいくつかのバグによって引き起こされる可能性があります。また、プロファイル通信に何か問題がある場合は、API レベルで変更できないことを意味し、プロファイル スタックでいくつかの汚い作業が必要になる可能性があります。電話メーカーであれば問題を解決できますが、そうでない場合は問題を解決できません。ない。