问题标签 [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 投票
1 回答
2795 浏览

android - 解决 Android Pre-HoneyComb 的 A2DP 和 HFP 限制

我正在研究一个有趣的项目,涉及通过蓝牙为智能手机混合流式音频,从 android 开始,因为这是我最有经验的。我曾经在 Android 上使用过蓝牙一两次,根据我的经验了解到 pre-honeycomb API 不允许应用程序连接到 A2DP 或 HFP 音频接收器。我已经在 HTC EVO 上的 Ginger Bread 上尝试过这个,使用必要的 UUID 无济于事。

根据官方文档,从API LEVEL 11开始,这现在是可能的,但我很确定稍后将提供此 API 级别的唯一设备将是 Ice Cream Sandwich 设备,因为支持仅在 Honey Comb 中开始。我是一个完全的业余爱好者,所以我不太可能很快将我的手套戴在开发级冰淇淋三明治设备上。为以后的修订调整任何代码都不是问题,因为我现在只是想证明概念。

理想情况下,我想使用配对 A2DP 设备的输入/输出流直接读取和写入 PCM 数据。但是,如果我现在想这样做,我很可能不得不使用一种解决方法。

我的想法是使用 android 的AudioRecordAudioTrack类,据我了解,它们从麦克风读取音频输入并将音频输出推送到扬声器。现在在这两种情况下,当 A2DP 设备未连接时,这些结构将分别使用设备的麦克风和扬声器。但是,当连接 A2DP 或 HFP 设备时,我不知道系统现在是否会将这些结构分别设置为耳机的麦克风和扬声器的输入和输出。如果是这样,那么我可以有效地将其应用到我的代码中,并在以后对其进行调整,以利用 Ice Cream Sandwich 中的直接支持。

有没有人在这方面有相对丰富的经验认为这种方法会奏效?在我坐下来编写一些可能会浪费时间的代码之前,我宁愿知道是否有人成功了。

0 投票
1 回答
1177 浏览

c - 用 HFP 和 A2DP 命令解释 asound.conf 文件之间的关系

在这里,我正在寻找测试 A2DP 和 HFP(免提)配置文件。

因此,在 HFP 中,我使用 dbus 命令通过 dbus 发送消息并执行 bluez 的服务地址。用于连接和断开。

在这里,我使用以下命令在 HFP 中播放音频。

你能解释一下是什么意思吗hw:0,1

HFP 仅支持 8000 Hz 采样率 wav 文件。

IN 高级音频分发配置文件 (A2DP) 定义了如何通过蓝牙连接将高质量音频从一个设备流式传输到另一个设备。

在这里我使用这个命令,但在这个命令之前我必须更新asound.conf文件。

在这两种情况下,我都使用相同的asound.conf文件。下面给出。

所以我想知道这个 asound.conf 文件与 HFP 命令和 A2DP 命令的关系。

请帮我解决这个困惑。

0 投票
1 回答
6452 浏览

android - 如何在 Android 中启用 A2DP 接收器功能?

我正在开发一个使用Gingerbread 2.3.4作为操作系统的定制嵌入式设备。现在该设备应该能够播放来自其他支持A2DP的设备(例如 iPhone 或其他 Android 设备)的音频流。我知道 Gingerbread 包含Bluez堆栈 4.69,它具有 A2DP 接收器功能。但是,我怀疑 Android 是否公开了这些 API。

您对我如何实现此功能有任何想法吗?由于我不是在开发通用的 Android 应用程序,因此将不胜感激任何类型的非标准方法。我认为Bluez即使在Android中也可以通过DBus接口直接访问堆栈。

0 投票
0 回答
874 浏览

android - 我可以使用 Android 应用程序来表现得像蓝牙 A2DP 客户端吗?ei 将音乐从我的手机流式传输到 Android 平板电脑

我想编写一个运行平板电脑的 Android 应用程序,该应用程序可以使用 A2DP 连接到我的手机并从手机流式传输音乐。

Android 平板电脑将取代我汽车的音响和导航系统。

我已经阅读了很多关于 Android 蓝牙 API 的内容,我已经导入了一些示例应用程序,并且我阅读了更多内容 我的印象是 Android API 只允许我“发送”音乐流而不是“接收”它如我所愿。

有没有人对此有任何困难或想法?

问候

0 投票
0 回答
1057 浏览

python - 使用 dbus-python api 在 linux 系统上实现 A2DP sink

我想在运行最新 Ubuntu 12.04 和最新 bluez 堆栈的 linux 系统上实现自定义 A2DP 接收器。

我的基本要求是:

  • 充当接收器的 Linux 系统(例如具有默认密钥“0000”或“anything”的自动身份验证的蓝牙耳机)

  • 我想使用 dbus-python API 与 bluez stack 进行通信。我想运行我自己的算法来在运行时配置通信参数,那就是我想实现我自己的接收器。

  • 后来我还想为我的 linux 系统实现 HSP 和 HFP 配置文件。

基本上,我想运行这些配置文件并测试通过 USB 与我的 linux 系统连接的外部蓝牙模块以进行各种音频传输配置,并评估不同配置文件下的音频接收性能。

我知道网络上必须已经有开源代码。但我找不到一个。即使代码是用 C 或 JAVA 编写的,对我来说也没关系。我需要它用于我的教育目的,我不能购买商业代码。因此,有专业知识的人请帮助我创建这个测试平台。因为,我的主要目标是将来修改 bluez 堆栈,我不想浪费时间创建测试台。

0 投票
1 回答
1894 浏览

android - 在 Bluez 中创建 dbus 接口

关于创建 dbus 接口的问题,例如

org.bluez.Audio, org.bluez.AudioSource

出现在 d-feet 调试器上。

运行 Bluez(例如笔记本电脑)的主机是否为充当蓝牙 A2DP 源的远程设备创建接口org.bluez.AudioSource ?

同样,如何在任何蓝牙手机上创建一个org.bluez.AudioSink接口,例如使其充当 A2DP 接收器?在这种情况下,主机(例如笔记本电脑)是否应该创建一个 AudioSink 接口来与手机端的 bluez 交互?

0 投票
4 回答
30331 浏览

linux - 没有脉冲音频的 A2DP 接收器

所以我试图让我的 linux 服务器使用蓝牙播放从我的 Android 手机发送的音乐(linux 机器是 A2DP 接收器,手机是源)。到目前为止,我所做的是:

  • 安装 bluez 并启用 audiosource/audiosink
  • 配对电话和服务器
  • 从手机连接到服务器(手机说它正在通过蓝牙传输音频)

但我什么也听不见。此外,互联网上的大多数指南都假设使用 Pulseaudio,我更喜欢使用 ALSA。

我目前在 /etc/asound.conf 中有以下内容:

我正在运行 Bluez v4.99 和 Alsa v1.0.25。有任何想法吗?

0 投票
0 回答
851 浏览

audio - 为 A2DP 重新采样音频输出(来自 PCM WAV)

如何在 CM7 智能手机上通过蓝牙 2.1将PCM WAV 32,000Hz带有流的立体声带入耳机?这可能吗?SBC 真的是个坏主意。1024 kbps (125 KB)DSPManager

也许可以使用耳机配置文件(HSP)?我不知道此配置文件中支持的编解码器。

@TJD:因为它压缩了压缩流。我的 Epic 4G 不支持 Apt-X。我的耳机 Gemix BH-04A 黄色。

0 投票
1 回答
5583 浏览

android - 如何连接到蓝牙 a2dp 设备?

我正在尝试将运行 android 4.1 的 android 设备与支持 a2dp 的音频接收器配对。我可以在蓝牙设置屏幕上毫无问题地做到这一点,但我正在努力在代码中做到这一点。

基本上我能够发现该设备,但我无法通过套接字连接到它。也许我使用了错误的 UUID 或者我应该使用预定义的 android.bluetooth.BluetoothA2dp 类。这是我正在做的事情:

但是我收到一个异常,指出它无法连接。

我还尝试使用设备提供的 UUID 进行连接,device.getUuids()但这些都无助于连接到 a2dp 设备。

任何有关如何连接到 a2dp 设备的帮助将不胜感激。谢谢。

0 投票
1 回答
1078 浏览

java - 使用 java 创建我们自己的 A2DP 配置文件

我们中的许多人都使用过具有内置编程 A2DP(高级音频引导配置文件)的蓝牙耳机/耳机或类似设备,以便他们可以从标准设备接收流音频。

但是我想使用可以安装在移动设备上的 java 设计(编码和实现)我自己的蓝牙 A2DP 配置文件,以便该设备可以接收和输出从另一台设备接收的流式音频。

例如:我的笔记本电脑和手机一样有蓝牙堆栈。作为普通手机,它没有 A2DP 配置文件但是如果我的手机连接到放大器并且我想将笔记本电脑的音频无线传输到该放大器怎么办。

提议:如果我设计一个可安装的基于java(java,因为它被广泛接受为移动设备的支持语言)A2DP蓝牙配置文件,那么我的手机可以用作基于蓝牙的音频接收器。

但主要问题是如何以及从哪里开始?