4

Android 4.1 を実行している Android デバイスと a2dp 対応のオーディオ レシーバーをペアリングしようとしています。Bluetooth設定画面から問題なく実行できますが、コードで実行するのに苦労しています。

基本的にデバイスを検出できますが、ソケット経由で接続できません。間違った UUID を使用している可能性があります。または、事前定義された android.bluetooth.BluetoothA2dp クラスを使用する必要があります。これが私がやっていることです:

UUID uuid = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
socket = device.createInsecureRfcommSocketToServiceRecord(uuid);
socket.connect();

しかし、接続できないという例外が発生します。

java.io.IOException: Service discovery failed
at android.bluetooth.BluetoothSocket$SdpHelper.doSdp(BluetoothSocket.java:403)
at android.bluetooth.BluetoothSocket.connect(BluetoothSocket.java:213)

また、デバイスが提供するUUIDを使用して接続しようとしましたdevice.getUuids()が、それらはa2dpデバイスへの接続にも役立ちませんでした。

a2dp デバイスへの接続方法に関するヘルプをいただければ幸いです。ありがとう。

4

1 に答える 1

2

createRfcommSocketA2DP は RFCOMM 経由で行われないため、 APIを使用することはできません。データは、指定されたプロトコル マルチプレクサ ID (1 つは制御用、もう 1 つはストリーミング データ用) を持つ L2CAP ストリームを介して直接転送されます。

于 2012-09-22T15:41:26.797 に答える