当前位置: 首页 > 知识库问答 >
问题:

如何通过蓝牙将音频从一个Android设备传输到另一个Android设备?

施俊明
2023-03-14

可以通过蓝牙传输音频吗?在我的研究中,我发现只有使用A2DP(高级音频分布配置文件)才有可能。每个Android设备都支持A2DP吗?如果没有,是否可以使用蓝牙在两个Android设备之间传输音频?请帮我理解这一点。

我浏览了以下链接:

  • 在Android中通过蓝牙接收音频,
  • 谷歌确认蓝牙音频流修复下一个版本的Android 4.2
  • 如何通过蓝牙从另一台设备流式传输音频?

共有3个答案

秦永望
2023-03-14

您还可以通过不依赖于任何配置文件的基本SCO连接流式传输音频。但是,请注意,A2DP是专门为流式音乐开发的配置文件。因此,与A2DP相比,您自己制作的任何实现都会在质量上受到影响。

除非您将音乐流式传输到不支持A2DP的设备,否则我肯定会使用A2DP。实际上,您唯一的另一个选择是使用SCO链接。

楚宏胜
2023-03-14

我的意见是,如果A2DP不能正常工作,我们最好转移到较低的层,我们可以创建一个基本流,用于发送任何形式的数据。我成功地通过蓝牙在J2ME设备之间发送字节流。

如果在两个设备中都安装应用程序是可以接受的,我有示例代码来创建蓝牙服务器和客户端,以便通过套接字相互通信,一旦套接字建立,您可以向您发送音频流:)

以下是一些核心代码:

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获取InputStreamOutputStream并像HttpConnection一样发送音频流

2) 客户端设备:

假设您已经获得了BluetoothDevice

// you should implement the method getBlutoothDevice
BluetoothDevice device = getBluetoothDevice();
BluetoothSocket socket = device.createRfcommSocketToServiceRecord(MY_UUID_SECURE);
穆建元
2023-03-14

可以通过蓝牙传输音频吗?

下面的帖子说,通过蓝牙在设备之间传输音频的可能性是可能的,但在谷歌官方宣布我们已经解决了N7上的a2dp流媒体口吃问题之前,其成功率一直是个问号。下一个版本应该有修复程序。很抱歉出现这个问题。

修复4.2.2中A2DP质量差的问题

使用Galaxy Nexus升级到4.2版本后,蓝牙音质受到影响

适用于Nexus 7 Flo的Android 4.3蓝牙音频质量修复

每个android设备都支持A2DP吗?

支持兼容性在Android开发者网站上提到,它是从API Leve-11添加的,具有适当的功能。但我遇到了XDA胎面,其中OP在Android 2.1中提到了问题,这意味着它也支持以前的api级别,但OP面临问题。

希望理解起来有意义,我想推荐参考XDA论坛以获取更多关于A2DP兼容性及其成功的信息。

 类似资料:
  • 我正在尝试获取传入的麦克风音频并将其流式传输到另一部iPhone。基本上是一个电话,但通过蓝牙。我有音频通过进入: 然后我尝试使用来自这里的-StreamReader from@martin-r 使用: 然后使用以下方法将数据发送到另一台设备: 我将行转换为NSData,然后使用dispatch_after 0.5秒不断运行,我通过蓝牙将其发送到另一台设备。 它似乎不起作用,我不认为这是一种实用的

  • 我有两个蓝牙设备(MFi)连接到iPhone。这两款设备都支持HFP。如果从一个设备(没有麦克风和扬声器等硬件)接受呼叫,之后我想将呼叫路由到其他设备(耳机)。有没有什么API可以通过app或者其他方式来完成这个任务? 我找到了以下相关链接 如何将iPhone音频传送到蓝牙耳机 有没有办法从应用程序模拟耳机的接受按钮或将呼叫会话从一个HFP设备转移到另一个HFP设备?

  • 我对同一主题进行了研究,发现android设备是a2dp源,音频只能从a2dp源流式传输到a2dp接收器。A2dp接收器可以是蓝牙耳机或蓝牙扬声器。 但我的问题是,Android应用程序“蓝牙音乐播放器”是如何工作的? 它允许从一部手机到另一部手机进行流媒体传输。因此,在这种情况下,收听移动设备必须充当接收器。这怎么可能?他们是否使用其他配置文件而不是a2dp? 好吧,这可能是他们使用的不同配置文

  • 我正在考虑构建一个Android应用程序,允许通过蓝牙将音频流式传输到Android手机。我以前在Stackoverflow上读过类似的问题,根据我的理解,A2DP不能用,因为Android不能成为A2DP接收器。 理论上,我认为HFP或HFP AG等配置文件应允许双向音频流。在Android API中,有没有办法强制蓝牙配对遵循此配置文件,或者操作系统是否决定使用哪种配置文件(例如仅当有电话呼叫

  • 问题内容: 我一直在遵循Android蓝牙通讯指南 为确切说明我要做什么,将两个设备配对后,每个设备(服务器和客户端)上都会打开两个不同的活动,其中服务器活动上我有不同的按钮,而客户端活动上只有一个textview。我希望能够按服务器设备上的按钮并将其显示在客户端上。 我设法在两个设备之间建立了连接,但现在我想发送无法执行的数据。 他们给出了以下代码进行数据传输: 但是这行会产生错误 并且在指南中

  • 我正在尝试制作一个应用程序,它使用Android的新蓝牙低能耗API。为此,我从API Level18附带的BLE示例开始。 当我读到Android不能充当外围设备时,我将Android手机置于中央模式,扫描周围的BLE设备。为此,我用一个模拟心脏传感器的北欧平台做了一些测试。一切都以完美的方式运作! 多谢了。 编辑:经过一些艰苦的测试,我在AOSP页面上提出了一个问题。这里可以查