问题标签 [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 回答
1553 浏览

android - Android Intent:检测蓝牙 A2DP 设备何时连接(不是 a2dp 路由是否处于活动状态)

如何判断蓝牙设备何时连接到手机,是否为 A2DP?

本教程提供了一个非常易于理解的蓝牙连接监听指南。

我想用它来确定任何连接的蓝牙设备是否是 A2DP 类型。

AudioManager有一个方法isBluetoothA2dpOn(),但我不认为这会立即返回真实,(甚至完全肯定),因为仅仅因为连接了 A2DP 设备,这并不意味着音频正在通过它路由?

我原以为连接的设备类型的信息会在收到的意图中提供(参见上面的教程),但我找不到任何文档?

我可以BluetoothClass通过以下代码获得:

但这并不能帮助我确定它是否是A2DP个人资料,因为BluetoothClass文档说:

BluetoothClass 可用作粗略描述设备的提示(例如在 UI 中显示图标),但不能可靠地描述设备实际支持的蓝牙配置文件或服务。准确的服务发现是通过 SDP 请求完成的,这些请求在使用 createRfcommSocketToServiceRecord(UUID) 和 listenUsingRfcommWithServiceRecord(String, UUID) 创建 RFCOMM 套接字时自动执行

...这对我来说毫无意义。

0 投票
2 回答
1360 浏览

android - Android蓝牙应用程序audioManager问题

我正在开发一个应用程序来控制扬声器。我希望应用程序能够播放音乐、做卡拉 OK(同时播放音乐和麦克风),并为用户提供基本的 EQ。到目前为止,我的问题一直是通过蓝牙播放音乐。我的应用程序:-发现附近的所有蓝牙扬声器-将它们放在列表中-与单击的设备配对并将用户发送到蓝牙设置以连接到它现在我的问题是通过蓝牙扬声器成功播放音乐。我使用 AudioManager 并将其设置为通过 SCO 播放:

然后尝试播放音乐文件,但这只会在设备扬声器上播放,而不是在连接的蓝牙扬声器上播放。所以我的问题是我错过了什么?我读了一些关于 A2DP 接收器的信息,但它似乎在最近的版本中不可用。有什么建议么?提前致谢。TDLR:如何在配对的蓝牙扬声器上播放音乐?

0 投票
0 回答
106 浏览

ios - 通过蓝牙“电话”串流音乐

我的车载收音机不支持 A2DP。然后我意识到谷歌地图通过“电话协议”播放导航声音。就像谷歌地图在召唤我一样。:D

iOS 的音乐应用程序(例如 Spotify)是否有应用程序或类似的东西?

谢谢你的回答!

0 投票
1 回答
1096 浏览

bluez - 在 Bluez A2DP 中:如何修改默认音频采样率

我正在使用 Bluez4 将音频从 iphone 5 接收到 Raspberry pi 音频输出。BLuez 4 A2DP 的默认设置似乎是 S16_LE,44,1kHz 立体声。

与有关 Bluez 的其他帖子类似,我无法捕获 Select_Configuration DBus 消息以动态更改采样率。相反,我决定尝试在 BLuez Stack 中找到默认的 A2DP 采样率。

有谁知道默认采样率设置在哪里?我的第一个想法是它位于 BLuez/audio/ 文件夹中,但似乎没有改变默认的 44.1kHz 采样率。现在我很想知道它在哪里设置。

目前使用这个:sudo ./a2dp-alsa --sink | aplay -c 2 -r 44100 -f S16
想用这个sudo ./a2dp-alsa --sink | aplay -c 2 -r 16000 -f S16

0 投票
1 回答
33985 浏览

android - 把安卓手机变成蓝牙耳机

假设我们在支持蓝牙的设备上有一个根植于 Android 操作系统。我们可以构建一个通过蓝牙 A2DP 将自己宣传为蓝牙扬声器的应用程序吗?

如果这是可能的,那么任何其他设备都可以配对/连接到我们的蓝牙服务器应用程序并流式传输任何音乐/声音。然后,此服务器应用程序可以获取音乐流并在本地播放,甚至可以通过 Wi-Fi 将其发送到其他设备。从理论上讲,这将启用多房间蓝牙解决方案。

知道如何实现这一目标吗?我从哪里开始?

0 投票
0 回答
1412 浏览

android - 尝试通过 A2DP / AVRCP 发送元数据

我正在开发一个 Android 应用程序,我希望它能够做的一件事是通过 A2DP / AVRCP 将元数据发送到我的汽车收音机,但我似乎无法让我的汽车接收元数据。我使用 PocketCasts 作为我的播客应用程序,他们的应用程序可以正常运行。

下面的代码适用于我的 Pebble,但在收音机上显示元数据之前,我的汽车似乎需要一些额外的字段。想知道除了使用 Android Music Metachanged Intent 之外是否还有其他方式来发送数据——这似乎有点 hacky。

0 投票
0 回答
6915 浏览

android - 如何启用 Lollipop 中引入的新蓝牙 A2DP 接收器功能?

我正在尝试修改 Nexus 5 的 AOSP android 映像,以包括对蓝牙 A2DP 接收器的支持。我发现 Google 足够好,可以为 Nexus 5 包含一个隐藏的构建目标。

https://android.googlesource.com/device/lge/hammerhead/+/android-5.0.1_r1/car_hammerhead.mk

这包括修改后的 Bluedroid 配置文件,允许设备通过蓝牙宣传 A2DP Sink 服务。它还将设备类别更改为蓝牙自动车载套件,并修改了 Bluetooth.apk 的配置以支持 A2DP Sink 和 AVRCP 控制服务。

这让我走了大约 75% 的路。我通过抓起 KitKat 手机并与 Nexus 5 上的修改版本配对来测试了这一点。它正确地宣传 A2DP Sink 服务并允许我的 KitKat 手机连接到 A2DP Sink 服务。在 KitKat 手机上,它似乎甚至允许我将音乐流式传输到 Nexus 5。但在 Nexus 5 上从未听过音乐。我什至捕获了 Nexus 5 上的 HCI 流量,发现音乐实际上正在流式传输到电话。

问题是蓝牙设备接收到音频流,但音频从未路由到扬声器。有谁知道如何将 A2DP 流路由到 Nexus 5 的扬声器?

0 投票
3 回答
29343 浏览

android - Android 设备作为 A2DP 配置文件的接收器

基本上,我现在要做的是使用安卓设备作为 A2DP 接收器,当配对建立时,安卓播放从发射器接收到的声音。我担心如果我使用 STP 配置文件,可能会导致流媒体延迟。所以,我想使用 A2DP,但这可以使用 android 设备作为 A2DP 的接收器吗?怎么做?

0 投票
2 回答
4875 浏览

android - 需要在 android/non-android 设备之间通过 A2DP 发送/接收音频的想法

我需要能够通过蓝牙发送和接收音频,似乎 A2DP 就是这样做的

使用这里给出的代码,我设法让我的手机检测并与远程蓝牙设备配对,然后建立一个 A2DP 连接,将安卓设备的所有音频输出通过蓝牙发送到远程设备

我以前能够通过 RFCOMM 与同一个远程蓝牙设备进行这种两种方式的数据通信(虽然安卓手机需要是发起通信的一方,但我无法通过远程设备进行,尽管我知道这是可能的)。一旦 RFCOMM 链接建立,android 设备就可以向远程设备发送数据,也可以从远程设备接收数据

我现在需要的是类似的东西,但对于音频(最好使用 A2DP,但我愿意使用其他任何东西,只要它能完成工作)。在四处窥探时,我得到提示,无法通过 A2DP 在手机上接收音频数据(至少是一个无根的普通数据,生根不是我的选择)(例如,请参见此处)。但我也见过允许完全通过蓝牙拨打电话的耳机(嗯,实际上是无线的,我假设它必须是蓝牙)。例如,来电时,您只需按下蓝牙耳机上的一个按钮,即可通话和收听对方。如果手机不能用作音频接收器,那么这样的耳机是如何做到的呢?

我需要一些关于如何编写 android 应用程序以通过蓝牙发送和接收音频数据的想法(为简单起见,让我们认为它类似于Bluechat 示例程序,但涉及音频而不是文本)。有可能(通过java)吗?只能通过NDK吗?市面上的设备是如何做到的?它与 A2DP 的配置文件不同吗?

PS:我的测试设备是带有 Gingerbread 的 Samsung Galaxy 2(手机)和带有 KitKat 的 Asus Nexus 7(平板电脑)。顺便说一句,远程蓝牙设备(它是一个开发板)附带一个示例项目,该项目应该将板变成 A2DP 音频源。如果我在板上运行这个示例项目,使用手机和平板电脑的内置蓝牙设置,我可以与远程板配对,但安卓设备不接收任何音频。

0 投票
1 回答
1275 浏览

bluetooth - 启用 Android A2DP SINK 和 RFCOMM 同时流量 (Lollipop)

背景:

我希望在我的 Nexus 4 和 5 设备(运行 Lollipop)上启用 A2DP 音频流 SINK 支持。我的应用程序命令和控制还需要并发 SPP/RFCOMM 双向流量。我将通过蓝牙模块(例如BlueGiga WT32i或)向微控制器发送串行流量,该模块将控制各种其他硬件。因此,我相信 AVRCP 不能胜任这项任务。

问题:

是否有人在 Android 中启用了 A2DP SINK 支持(Target Lollipop 或更早版本)并且成功地使并发 SPP/RFCOMM 通道正常工作,或者可以提供有关如何实现此目的的选项?