Android アプリで Bluetooth SCO オーディオの問題に直面しました。
アクション ACL_CONNECTED および ACL_DISCONNECTED のレシーバーを登録して、Bluetooth SCO デバイスの接続と切断をキャプチャしました。ACL_CONNECTED の受信時に、Bluetooth デバイスにオーディオ サービス (ヘッドセット) があるかどうかを確認しています。AUDIO サービスがある場合は、AudioTrack ( new AudioTrack(....)
) をインスタンス化し、Bluetooth SCO ( startBluetoothSco(); setBluetoothScoOn(true);
) を開始しています。
アプリに pcm データを AudioTrack に書き込むボタンがあります。このアプリでは書き込んだPCMデータの音が出ません。
レシーバーなしで試してみましたが、onCreate()
AudioTrack をインスタンス化して bluetooth SCO を開始しただけです。アプリを起動する前に、ヘッドセットをデバイスに接続してテストしましたが、正常に動作しています。
しかし、実行時に Bluetooth SCO 接続が確立されたときに、ACL_CONNECTED インテントに応じてアプリが機能しないのはなぜですか。
解決策を知っている人は、返信してください。必要な権限 BLUETOOTH、BLUETOOTH_ADMIN、MODIFY_AUDIO_SETTINGS をすべて追加しました (これらの権限のスペルミスについては報告しないでください)。