傑理藍牙PCM混音方法

前段時間客戶給我們一個項目,要求播放一段語音,語音必須混合在藍牙音頻之中播放出來。

據我所知,傑理的所有藍牙的音頻播放(除了按鍵音)都是阻塞播放,沒有什麼特別好的方法實現混音。

依據按鍵音播放方式,我們預先錄製好PCM語音數據保存在flash中,需要播放的時候在dac中斷dac_isr_callback

中使用一些pcm合併方法直接pcm數據合併,如疊加法,歸一法等。我使用的是歸一法合併,效果還是不錯的。

這裏我們也遇到了一些問題,比如,我們預先錄製保存在flash中的pcm數據是44.1Khz採樣率的,在藍牙狀態下,dac

出來的數據也是44.1khz,這個可以直接合並,但是在tf卡或者U盤狀態,播放的歌曲並不一定是44.1Khz採樣率,所以並不能直接合並否則會出現變音的情況。要在這種情況下混音播放,只能是對44.1KHZ的語音PCM數據進行重採樣,因爲傑理這個鬼平臺,沒有找到什麼好的重採樣算法,大多數都是linux平臺的,或者是rtos平臺但是不開源的,沒有想到什麼好的辦法在讀卡讀U盤情況下進行混音,所以客戶直接去掉了這個功能,只在藍牙狀態下播放。大俠們有什麼好的辦法混合音頻播放,或者在傑理藍牙平臺進行PCM重採樣算法?歡迎加我一起討論

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章