私の意見では、A2DPが正常に動作しない場合は、下位レイヤーに移行し、任意の形式のデータを送信するために使用できる基本ストリームを作成できます。私は、J2MEデバイス間でBluetooth経由でバイトストリームを送信することに成功しました。
両方のデバイスにアプリケーションをインストールすることができれば、Bluetoothサーバーとソケットを介して互いに通信するクライアントを作成するためのサンプルコードがあります。ソケットが確立されると、オーディオストリームを送信できます:)
ここ
は、一部のコアコードです:
1)サーバ装置:
// you can generate your own UUID and use it as an port to eatablish a socket
private static final UUID MY_UUID = UUID.fromString("20687DAD-B023-F19E-2F60-A135554CC3FD")
BluetoothServerSocket serverSocket = mBluetoothAdapter.listenUsingRfcommWithServiceRecord(NAME_INSECURE, MY_UUID);
今あなたはServerSocketをを持って、普通のServerSocketとしてそれを使用します。
BluetoothSocket socket = serverSocket.accept();
、その後、あなたはこのBluetoothSocket
からInputStream
とOutputStream
を取得し、ちょうどHttpConnection
2)クライアントデバイスのようにオーディオストリームを送信することができます
は、すでにBluetoothDevice
// you should implement the method getBlutoothDevice
BluetoothDevice device = getBluetoothDevice();
BluetoothSocket socket = device.createRfcommSocketToServiceRecord(MY_UUID_SECURE);
1.ほぼすべてのデバイスがA2DPをサポートしています。A2DPとHFP(ハンズフリー)プロファイルは、電話に必要な基本プロファイルです。 2. Android 4.2.1には、Bluetooth経由のオーディオストリーミングの問題がありました。最新のリリースではGoogleで修正された不安定なオーディオでした。 3.以前はほとんどの人がbluez(オープンソースのブルートゥース)スタックを試していましたが、JBからはじめてbluezがbroadcommスタックに置き換えられました。電話機にオーディオシンクプロファイルを実装する必要があります。 Alljoynを使用して、2つのデバイス間のオーディオストリーミングが可能です。[link](https://www.alljoyn.org/about/core-services) – ashish
このリンクをご利用いただきありがとうございます。私はそれを通過しています。そして何が起こるかを教えてくれるでしょう。再度、感謝します。 –
オーディオはBluetooth経由でストリーミングする必要がありますか? [WiFi-Direct](http://developer.android.com/guide/topics/connectivity/wifip2p.html)の使用はどうですか?これにより実際にはより柔軟性と機能が得られます。 – BigMacAttack