最近在使用rtthread 的 audio设备播放wav的音频,MCU使用的是STM32F4,使用过程中发现,不能在播放单声道音频的时候会特别快,究其原因是因为STM32的I2S是双声道输出,而音频输入的声音是单声道的,相当于少一个声道的数据,其实如果播放立体声音频就没有问题了。
但是使用立体声音频会增加WAV文件的体积,这样占用的FLASH空间就大了,目前想到的方案是将读取到的音频数据扩展到双声道,我们直接修改wavplayer.c中的内容,如果有更好的解决方案,欢迎指正:
修改点如下:
1、声明一个声道数变量来记录当前音频的声道数,在声明一个ushort类型的指针,方便后边计算
2、获取当前音频的声道数
3、获取音频文件读取缓冲区的指针
4、如果是单声道音频,那么将 单声道的音频扩展到左右两个声道,形成双声道数据流
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
mcu
+关注
关注
146文章
16016浏览量
343620 -
缓冲器
+关注
关注
6文章
1566浏览量
44878 -
STM32F4
+关注
关注
3文章
192浏览量
27676 -
RTThread
+关注
关注
7文章
129浏览量
40519 -
WAV音频
+关注
关注
0文章
2浏览量
1118
发布评论请先 登录
相关推荐
带耳机驱动的2路单声道音频功率放大器TPA0223数据表
电子发烧友网站提供《带耳机驱动的2路单声道音频功率放大器TPA0223数据表.pdf》资料免费下载
发表于 03-20 10:17
•0次下载
2路无滤波器单声道D类音频功率放大器TPA2000D1数据表
电子发烧友网站提供《2路无滤波器单声道D类音频功率放大器TPA2000D1数据表.pdf》资料免费下载
发表于 03-20 10:09
•0次下载
3.2W单声道D类音频功率放大器TPA2039D1数据表
电子发烧友网站提供《3.2W单声道D类音频功率放大器TPA2039D1数据表.pdf》资料免费下载
发表于 03-20 09:26
•0次下载
6.5-W单声道D类音频功率放大器TPA3007D1数据表
电子发烧友网站提供《6.5-W单声道D类音频功率放大器TPA3007D1数据表.pdf》资料免费下载
发表于 03-19 18:11
•0次下载
2.9 W/声道单声道D类音频子系统TPA2051D3数据表
电子发烧友网站提供《2.9 W/声道单声道D类音频子系统TPA2051D3数据表.pdf》资料免费下载
发表于 03-19 16:28
•0次下载
1.25-W单声道全差分音频功率放大器TPA6203A1 数据表
电子发烧友网站提供《1.25-W单声道全差分音频功率放大器TPA6203A1 数据表.pdf》资料免费下载
发表于 03-19 10:13
•0次下载
超低EMI, 4.0W单声道D类音频放大器CS8121S数据手册
电子发烧友网站提供《超低EMI, 4.0W单声道D类音频放大器CS8121S数据手册》资料免费下载
发表于 03-07 17:51
•0次下载
功放aux单声道怎么解决 aux单声道怎么解决
要使aux入口的音频变为立体声,你需要使用一个音频分离器。这个设备可以将单声道音频分离成左右声道,从而产生立体声效果。
aux是单声道还是双声道 单声道双声道和立体声的区别
单声道只有一个声道,音频只能从一个方向传递和播放,音乐或声音缺乏了立体感,无法真正呈现出每个乐器或声音在空间中的具体位置和感觉。
评论