天天看點

Android輸出正弦波音頻信号(左右聲道對稱)效果圖模拟正弦波播放音頻的線程封裝播放停止不足

轉載請說明出處!

需求:左右聲道分别輸出不同的音頻資料,波形要是一個正弦波,左右聲道還要對稱!

對硬體不是很了解,說是要通過音波避障。

之前已經介紹了如何在左右聲道輸出不同的音頻資料。

那麼這裡主要介紹如何模拟出波形是正弦波的音頻資料。

主要參數

mFrequency:頻率

mSampleRateInHz:采樣率

這裡介紹的是在程式中模拟出一個波形滿足正弦波的音頻資料,還有一種方式,可以事先準備好一個這樣的音頻檔案,直接播放就可以了。

在程式中模拟音頻資料有一個缺點,就是不能保證兩個線程完完全全的同步,即便是同時開啟兩個線程也有一先一後,在頻率很高的時候,難免會有一點誤差!像下面這樣:

Android輸出正弦波音頻信号(左右聲道對稱)效果圖模拟正弦波播放音頻的線程封裝播放停止不足

另外,這個波形和硬體有很大關系,越是低配裝置,誤差可能會越大,相同的趨勢,但是波動的幅度會比較大(線很粗),可能和裝置本身的噪音有關系。

繼續閱讀