2016-11-25 48 views
0

我遇到了一個非常奇怪的現象,在解碼MP3到pcm數據在ios鍵盤。 我已經在Windows 10上測試了代碼,它工作正常。但是,使用相同的mp3文件和ios鍵盤上運行的相同代碼,pcm數據會變成全白噪聲。mp3解碼錯誤與ffmpeg在ios

我在兩個系統上都比較了輸入壓縮數據(mp3)和內存中的解碼數據。輸入數據全部相同(無靜音幀),但解碼數據完全不同。

所以,我可以說,有一個錯誤的ffmpeg在iOS平臺上的音頻。我的版本使用的ffmpeg2.6

人達到同樣的事情解碼?

+0

誰遇到同樣的問題? – LL2012

回答

0

我還沒有遇到過從2.0.4到ffmpeg 3.2中描述的那些問題。

AVFrame 
    uint8_t* data[8]   pointer to audio samples 
           Stereo S16P will use planar data not interleaved audio 
    int   linesize[8]  length of each line 
    int   nb_samples 
    int   format   enum AVSampleFormat 
    int   sample_rate  44100, 48000, etc 
    int   channels  number of audio channels 

這裏更多:

在AVFrame解碼的音頻使用定義https://www.ffmpeg.org/doxygen/3.0/structAVFrame.html

沒有從自己(即自己的示例代碼)很難任何信息說,爲什麼你越來越白噪聲。

+0

嗨,謝謝你的回覆。我仔細檢查這個問題在iOS上。還有第三部分庫也在裏面提到了ffmpeg。所以運行時調用會變得混亂。兩個ffmpeg版本在一個系統上運行。所以出現了各種問題。 – LL2012

+0

似乎ffmpeg-2.6.3永久性地存在這個問題,因爲我刪除了可能會導致混亂的其他庫。好吧,我的場景非常簡單。單聲道,16bit,採樣率32000 mp3解碼。無需重新採樣。解碼通常是通過調用avcodec_decode_audio4。然而,與windows上的輸出相比,輸出不正確。 – LL2012

+0

然後使用不同的版本重建ffmpeg庫可能是個好主意。我希望你能設法解決它。 – WLGfx