最近在使用rtthread 的 audio設(shè)備播放wav的音頻,MCU使用的是STM32F4,使用過(guò)程中發(fā)現(xiàn),不能在播放單聲道音頻的時(shí)候會(huì)特別快,究其原因是因?yàn)镾TM32的I2S是雙聲道輸出,而音頻輸入的聲音是單聲道的,相當(dāng)于少一個(gè)聲道的數(shù)據(jù),其實(shí)如果播放立體聲音頻就沒(méi)有問(wèn)題了。
但是使用立體聲音頻會(huì)增加WAV文件的體積,這樣占用的FLASH空間就大了,目前想到的方案是將讀取到的音頻數(shù)據(jù)擴(kuò)展到雙聲道,我們直接修改wavplayer.c中的內(nèi)容,如果有更好的解決方案,歡迎指正:
修改點(diǎn)如下:
1、聲明一個(gè)聲道數(shù)變量來(lái)記錄當(dāng)前音頻的聲道數(shù),在聲明一個(gè)ushort類(lèi)型的指針,方便后邊計(jì)算
2、獲取當(dāng)前音頻的聲道數(shù)
3、獲取音頻文件讀取緩沖區(qū)的指針
4、如果是單聲道音頻,那么將 單聲道的音頻擴(kuò)展到左右兩個(gè)聲道,形成雙聲道數(shù)據(jù)流
-
mcu
+關(guān)注
關(guān)注
146文章
17912瀏覽量
362498 -
緩沖器
+關(guān)注
關(guān)注
6文章
2039瀏覽量
46840 -
STM32F4
+關(guān)注
關(guān)注
3文章
201瀏覽量
28915 -
RTThread
+關(guān)注
關(guān)注
8文章
132瀏覽量
41645 -
WAV音頻
+關(guān)注
關(guān)注
0文章
2瀏覽量
1201
發(fā)布評(píng)論請(qǐng)先 登錄
CS8396E單聲道R類(lèi)音頻功率放大器

單聲道、低功耗、多級(jí) D 類(lèi)音頻放大器 IC skyworksinc

HT8513HT8515單聲道D類(lèi)音頻功率放大器中文手冊(cè)
PCM1794使用單聲道模式有破音如何解決?
8127+tlv320aic3104設(shè)置立體聲采集到音頻播放是快進(jìn)音頻的聲音,怎么解決?
使用單聲道采集DM365+AIC3101的音頻,怎么操作?
如何使用TLV320AIC34實(shí)現(xiàn)4路單聲道音頻輸出?
TPA3116D2雙聲道輸入,是否可以單聲道輸出?
TPA6120A2的音頻支持左右聲道單聲道輸入嗎?
采用LM4991對(duì)單聲道音頻進(jìn)行放大,功放LM4991一打開(kāi)使能,喇叭就會(huì)有“噗”的聲音如何消除?
一款低功率、高質(zhì)量的單聲道音頻編解碼器 - CJC8911

評(píng)論