【问题标题】:how to receive bluetooth A2DP packets on windows x64?如何在 Windows x64 上接收蓝牙 A2DP 数据包?
【发布时间】:2012-04-23 16:51:17
【问题描述】:

我设计了一个可以记录数据并同时使用蓝牙 a2dp 配置文件发送数据的电路。我的电路是源,计算机是接收器。我的主要目标是在 matlab 中接收该数据和过程。我研究了 A2DP 数据包,并对如何使用 SBC 编解码器解码数据包有一个简要的了解。我的主要问题是我无法使用 tera term 接收这些数据包。我感觉 tera 不应该接收 a2dp 数据包。如果是这样,我可以使用什么软件?可以用matlab吗?

或者,当我尝试使用 blue soleil IVT 时,我可以在计算机上播放音频文件。但不幸的是,它不允许我转移到 matlab。

还有其他方法可以实现吗??

谢谢

编辑: 好的,我看到 IVT bluesoleil 提供了一个 SDK,但只有两个与 A2DP 相关的功能。我认为这对我帮助不大。关于如何解码它们的任何线索? 参考:第 6.3.7.2 节 - Bluesoleil SDK)

【问题讨论】:

    标签: matlab bluetooth


    【解决方案1】:

    由于我还没有收到任何答案,我将在对 A2DP 进行简要研究后提及我所知道的。首先,a2dp 数据包结构使用由 AVDTP 指定的数据包格式,可以在蓝牙规范结构中找到。该数据包结构包括一个数据包,其中嵌入了编解码器。该编解码器可以是 SBC(子带编码)或 MPEG v1/2。

    默认情况下,A2DP 使用 SBC。要了解有关 SBC 的更多详细信息,请参阅 bluetooth.org 上的 A2DP 蓝牙规格表。我将附上下面的链接。 A2DP 规格表中有一个部分准确解释了如何编码和解码音频信号。在解码时,您会获得 PCM 信号,我确信您知道如何处理它:)。我不得不坚持使用 SBC,因为我的硬件模块 (bluegiga wt-32) 不支持 MPEG :(。

    具体谈谈我的情况,由于 matlab 中缺少 a2dp 功能,我不得不创建 C 代码来接收 AVDTP 数据包。在 C 中解码的数据包和音频信息(pcm 数组)通过使用一些愚蠢的链接技术进一步提供给我的 matlab 工作区,因此,最后我的 matlab 能够使用 wavplay/audioplay 函数对其进行流式传输。希望这会有所帮助。

    [1] 蓝牙核心规范 v2.1 - https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=241363
    [2] 蓝牙 a2dp 1.2 规范-https://www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=66605
    [3] - AVDTP - www.bluetooth.org/docman/handlers/DownloadDoc.ashx?doc_id=66607

    【讨论】:

      猜你喜欢
      • 2015-06-09
      • 1970-01-01
      • 1970-01-01
      • 2017-11-23
      • 2023-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多