TI中文支持网
TI专业的中文技术问题搜集分享网站

stm32f4 A3DPDemo_SNK 声音大小

hi TI

我把stm32f4 A3DPDemo_SNK demo 移植到我自己的一个stm32f4电路板,通过蓝牙和手机相连播放音乐时,手机端暂停、重新播放时,声音有时很大、有时很小。此时手机端的音量、电路板上的codec音量我都没有调整,不知道暂停、重新播放时,声音忽大忽小的可能的原因是什么?

非常感谢!

Yan:

ying xiao ,

蓝牙A2DP的SBC音频编码是不带音频gain的信息的(其他格式编码其实也一样),音量大小完全是取决于AVRCP(手机这边发送音量控制命令)或者codec的设置来决定的。

你这个最好有机会的话空中抓包看一下,同时看一下你的codec那边是不是有什么影响到了输出。

user440976568:

回复 Yan:

Y

非常感谢你的回复。

首先手机端的音量我没有调节,是固定的。codec的控制接口I2C在暂停/重新播放时,我用示波器捕捉了一下,没有额外的因素使得codec的音量被调节了。

在我的应用中 手机发送音乐给BT,然后BT通过i2s2发给stm32 ,stm32接收处理后通过i2s3再发给codec。其中 BT通过i2s2发给stm32时,BT 是master,stm32是slave。在暂停/重新播放时,我通过单步跟踪发现BT发给stm32时,数据就是有时大有时小

另外你说的空中抓包工具,针对cc2564有什么好的抓包工具推荐下,谢谢啦

Yan:

回复 user440976568:

ying xiao,

你是怎么发现“BT发给stm32时,数据就是有时大有时小”的呢?

专业的抓包工具可以是frontline的BPA600或者Ellisys 的蓝牙抓包工具。

user440976568:

回复 Yan:

Y

非常感谢!

BT通过i2s发给stm32时,我是放到stm32的一个缓冲区buffer中,然后通过iar中的live watch动态查看该buffer值,手机端我播放一个.wav格式的方波声音,然后暂停、重新播放时,我查看该变量值的数值有时大有时小,如果重新播放不暂停持续播放则不会出现该值忽大忽小。其实有时声音大时,从喇叭出来的声音像是噪声,但是声音中还是包含正常的声音的。

wing yip:

有可能是声音文件播放暂停再播放的过程中,fifo数据不对齐造成的,不意外的话应该是pcm编码16位以上的编码吧

赞(0)
未经允许不得转载:TI中文支持网 » stm32f4 A3DPDemo_SNK 声音大小
分享到: 更多 (0)