android蓝牙取sbc音频数据

https://blog.csdn.net/u010481276/article/details/86545272

两种方法:

方法1:
dump audio数据

Bluedroid协议栈中把bt_target.h中的宏DUMP_PCM_DATA打开,发送到bluetooth HAL 层的pcm数据被保存在手机的/data/misc/bluedroid/output_sample.pcm格式。
可以用cool edit pro工具分析PCM数据是否有问题

要验证蓝牙 HAL 的输入是否正确,需通过如下方式在 external/bluetooth/bluedroid/
audio_a2dp_hw/audio_a2dp_hw.c 文件中启用 PCM 转储选项:
Enable BT_AUDIO_SAMPLE_LOG
PCM 转储位置: /data/audio/output_sample.pcm
*.pcm 文件可通过 gold wave 工具播放

 

方法2:
取sniff log
/data/misc/bluetooth/logs
这里为这个

打开cpas软件,Frontline15.0-18.8.17250.17541_signed

导入cfa的文件

 

选择解决后的音频要放的路径,开始解码

 

 

aac导出来好像不能播放

这就是a2dp中sbc编码解码后的音频数据

 

补充说明:

1.以上方法2的抓取log尽量打开如下Log开关:

首先进行如下设置:

  1)把bt_stack.conf配置文件的log输出级别修改为5(默认是2)

  2)搜集BT snoop log,在开发者选项中勾选“Enable Bluetooth HCI snoop log”或者在bt_stack.conf中把BtSnoopLogOutput设置为true。

2.audio dump是audio发给蓝牙的; bt audio sample 是蓝牙协议栈编码(sbc/aac)或者A2DP Offload编码的音频数据流(取决于芯片平台策略)

3.方法1提到的相关代码路径:

alps/vendor/mediatek/proprietary/packages/modules/Bluetooth
./system/internal_include/bt_target.h:983:#define DUMP_PCM_DATA FALSE -> true
./system/audio_a2dp_hw/src/audio_a2dp_hw.cc  <---没有找到这个宏:BT_AUDIO_SAMPLE_LOG

 

posted @ 2023-12-26 14:39  petercao  阅读(51)  评论(0编辑  收藏  举报