是否可以通过蓝牙传输音频?在我的研究中,我发现只能使用才能实现。并且,每个Android设备都支持A2DP吗?如果不支持,是否可以在两个Android设备之间使用蓝牙流式传输音频?请帮助我理解这一点。
我查阅了以下链接:
是否可以通过蓝牙传输音频?在我的研究中,我发现只能使用才能实现。并且,每个Android设备都支持A2DP吗?如果不支持,是否可以在两个Android设备之间使用蓝牙流式传输音频?请帮助我理解这一点。
我查阅了以下链接:
API Level-11
开始添加相应功能。但我在XDA帖子中遇到了问题,OP提到在Android 2.1
中存在问题,这意味着它也支持先前的API级别,但OP仍然面临问题。// 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);
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);
尝试使用以下代码片段:
public class AudioStream extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String url = "http://www.example.mp3";
MediaPlayer mp = new MediaPlayer();
try {
mp.setDataSource(url);
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
mp.prepare();
mp.start();
} catch (Exception e) {
Log.i("Exception", "Exception in streaming = " + e);
}
}
}
这真的很难。但我做了很多研究并找到了一种方法。存在一些延迟、连接和根本性问题,但显然还是有效的。为此,您需要在服务器上安装“AirAudio”应用程序和“AllConnect”接收器。然后您打开主屏幕上的AirAudio,再打开AllConnect,在您的设备上按下,然后选择源并选择服务器,然后选择流式传输的mp3。问题是延迟非常大,另一个缺陷是要仅传输Android服务器系统的声音,您应该在手机上获得root权限...我还尝试过使用VLC作为流接收器,延迟较小,但仍然不太舒适。