问题标签 [a2dp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1279 浏览

bluetooth - 如何将 a2dp 接收器设置为默认值(android 7.1)

我们制作了一个具有 Android 7.1 操作系统的定制板,因为我们的定制板必须对带有蓝牙的接收器起作用(而蓝牙中​​的 a2dp 接收器配置文件可以做到这一点),但是我们在几周内做了很多工作,但它仍然没有工作,所以我想问问知道或有类似过期的人可以提供帮助。Android 7.1 使用了氟化物蓝牙堆栈

Android 设备作为 A2DP 配置文件的接收器,但它似乎不起作用。所以任何人都可以提供帮助。
我没有检查 <bool name="profile_supported_a2dp">false</bool> 是否启用了像源和接收器这样的 a2dp 配置文件角色,那么它将默认作为 a2dp 源而不是 a2dp 接收器?所以这就是为什么它不起作用?

0 投票
1 回答
863 浏览

ios - 如何以编程方式扫描并连接到 iOS 上的蓝牙 A2DP 设备

我已经构建了一个 Android APP,它可以处理扫描、返回附近的设备以及在 BLE 和蓝牙 A2DP 上连接步骤,并且运行良好。现在我正在开发具有完全相同功能的 iOS 版本。对于BLE部分,我可以使用CoreBluetooth毫无问题地执行我需要的操作,但我不知道如何在iOS上为蓝牙A2DP设备实现“扫描->返回附近可发现的设备->连接”的步骤。到目前为止,我发现的唯一解决方案是从我的 iOS APP 导航到“设置”页面并在其上执行连接。有没有办法以编程方式在我的 iOS APP 中实现蓝牙 A2DP 连接过程?

0 投票
1 回答
847 浏览

android - 当我们有一个活动的(HFP)蓝牙 SCO 连接时,强制 Android A2DP 配置文件工作

因为我们可以连接两个具有不同连接类型的蓝牙设备电话音频和音乐音频(即分别为 HFP 配置文件和 A2DP 配置文件)。两个设备同时连接,但 HPF 优先于 A2DP,这意味着当我有活动的 SCO 连接(或语音呼叫)时,A2DP 停止工作。我希望他们两个同时工作。我想从 HFP 设备获取音频并在 A2DP 设备上播放。如果可能的话,想知道一些解决方法,即使需要编写 NDK 代码。

0 投票
1 回答
253 浏览

audio - 通过 SPP 蓝牙实时传输 12-16 位音频是否现实?

我试图通过HC05 SPP 蓝牙模块发送 12 位音频以实时收听,该模块通过 python RFCOMM 套接字通过串行连接到 arduino 和 DAC。 从那以后,我了解到,由于带宽低,串行端口协议在此用途上根本不是很好。我想我肯定可以发送数据,然后通过 DAC 播放,但我怀疑 arduino 会保存一个 WAV 文件大小的数组,甚至可能不是 mp3 文件,但这会破坏控制音频的目的(播放,暂停,倒带等)从我的电脑。 使用支持 A2DP 的蓝牙模块会更现实和更有价值吗?或者是否仍然可以使用 SPP 实时收听质量可接受的 12-16 位音频?我尝试使用较低位的歌曲,调整 arduino 和 HC-05 串行端口的波特率,并尝试调整 DAC 输出到音频端口的值的大小,但我似乎仍然听到了噼啪声。看来问题归结为 SPP 的低比特率传输速度,还是我错了?

0 投票
0 回答
660 浏览

android - 在 Android 中设置活动 A2DP 设备

我一直在研究向廉价蓝牙耳机发送短音频消息的代码。

我希望能够使用 A2DP 选择当前的音频输出设备,并且似乎没有任何可靠的方法可以做到这一点。

我知道如何获取 A2DP 配置文件,并使用反射来连接和断开设备。

并且使用 A2DP 配置文件,您可以使用反射来访问连接和断开连接方法:

(除了使用“connect”作为方法名称之外,连接是相同的)

这一切都很好。然后,您可以使用GetConnectedDevices找出当前连接的设备。

旧款手机似乎只支持一个设备,因此这种机制适用于切换输出。但是,后来的手机(特别是三星)似乎同时支持两个设备。似乎没有任何方法可以选择音频将发送到哪个设备。我可以断开我不想要的那个,但有些设备有一个令人讨厌的习惯,即在不被询问的情况下重新连接,并使自己成为活动输出。

BluetoothA2dp的源代码中,您可以清楚地看到“setActiveDevice”,但应用程序似乎无法访问它,即使通过反射也是如此。

任何帮助表示赞赏。

编辑:部分笨拙的解决方案:根据经验,设备列表中的最后一个 BluetoothDevice 是活动的。如果不是我想要的,我断开列表中的第一个,然后连接我想要的。这似乎可行,但并没有让我觉得是最好的解决方案。

0 投票
1 回答
426 浏览

android - Android bluedroid 堆栈 - 启用 a2dp 接收器 - NDK 应用程序

我正在尝试在 Nexus - Android M 中启用 a2dp 接收器配置文件。看起来可以通过设置 /external/bluetooth/bluedroid/include/bt_target.h文件中存在的适当标志来启用对 a2dp 接收器的支持。

与其编译和刷新完整的系统映像,我是否可以只提取更新的蓝牙库并在 NDK 中使用该库,并为 a2dp 接收器开发独立解决方案?它是否按预期工作?我正在寻找使它工作的独立解决方案的方法....

0 投票
1 回答
3352 浏览

raspberry-pi - 树莓派 + Bluez + A2DP + AVRCP

在过去的两天里,我一直在寻找一种通过我的 Raspiberry pi 无头扬声器控制 iPhone 媒体播放的方法。

我已经使用以下教程成功设置了 pi: Raspbian Stretch 上的 Headless A2DP 音频流 ,现在我正在寻找一种方法来控制我的树莓派中音频流的播放。

我一直在研究 MediaTransport1、MediaPlayer1、MediaControl1,但不幸的是我没有成功。

给你几个我已经执行的试验和错误的例子:

为了:

我收到了:

为了

我收到了

此外,我发现了一个播放器,我认为我可以用它来构建我自己的脚本作为示例 ,但遇到了一个错误:

当我反省时

我明白他的:

谁能帮我解决这个问题,或者有人知道使用树莓派控制手机上音乐播放的程序吗?

问候。

更新 1:非常感谢@Parthiban,因为它运行良好。

此外,我不得不说我按照此处的教程将 bluez 版本重新安装到 5.50:在 Raspberry Pi 上安装 bluez,因为我看不到 /playerX(在我的情况下为 0)。在我编译源代码之前,我做了一些额外的工作(不确定它是否相关,但它没有伤害),我添加了.auto_connect = true

所示的 avrcp 配置文件:

这里

希望这可以帮助每个可能面临我的问题的人

0 投票
0 回答
911 浏览

android - Bluez 在 Android 上独立运行

我正在尝试为 Android 手机启用 A2dp 接收器配置文件并从另一台设备流式传输音频。我知道如何对 Android 的 bluedroid 堆栈执行相同操作的过程。但我想使用 Bluez 堆栈。我有一个链接解释为 Android 4.1 做它,因为从 Android 4.2 bluez 被 bluedroid 取代。这里

但我想知道如何将 bluez 移植到 Android 版本 > 4.1 而不必通过替换 bluedroid 来构建整个 AOSP 树?从 Bluez 5.21 开始支持 Android 4.4 和 5.0,5.1 但由于各种依赖关系,我们必须再次构建 Android 源代码。

无论如何,如果不替换 bluedroid 并构建整个东西,我们可以禁用 bluedroid 并放置一个与 Android 兼容的 bluez 可执行文件并使用它? 这是通过构建整个事物将 bluez 移植到 Android 的链接

0 投票
1 回答
655 浏览

qt - Qt 如何在 Linux 中以编程方式正确连接手机(蓝牙 A2DP、AVRCP、HSP、HFP)

我正在尝试开发一个使用 bluez stack 以及 pulseaudio 和 ofono 的应用程序,以便连接到手机并实现媒体播放 (A2DP)、媒体控制 (AVRCP) 和免提电话 (HFP) 等任务。当我通过 连接到我的手机时bluetoothctl,它会自动连接到所有可用的配置文件,因此可以通过我的程序使用所有配置文件 A2DP、AVRCP、HFP。如果我不使用 连接到我的手机bluetoothctl,则免提/HFP 调制解调器未启用/在ofono 中通电。

但是,当我在 Qt 中使用 QBluetoothSocket 并使用配置文件连接时,总是有一个配置文件未连接。例如连接到免提配置文件,电话可以工作,但媒体控制不起作用。简而言之,我希望能够像bluetoothctl这样连接到蓝牙。我在 Qt 中的内容如下(简而言之):

如果您不清楚,我愿意发布更多代码。非常感谢有关如何使用 Qt 连接到蓝牙的任何帮助bluetoothctl

0 投票
1 回答
400 浏览

ios - 是否可以快速将十六进制数据发送到 A2DP 蓝牙设备?

我正在 iOS 上开发一个连接到蓝牙 A2DP 设备的应用程序,但我无法发送十六进制指令以使其工作。有人可以帮助我吗?我找不到信息。

使用 AVAudioSession.sharedInstance().currentRoute 我可以看到设备的 UID 和名称,但不能发送数据。

你可以帮帮我吗?

谢谢!