我的代碼使用NAudio來讀取一個特定的MP3獲得不同的結果比其他幾個商業應用程序。調試NAudio MP3讀數差異?
具體來說:我的基於NAudio的代碼發現,在開始播放「可聽音頻」(鼓拾音器)之前,此MP3的開頭會有〜1.4秒的靜音,而其他應用程序(Windows Media Player,RealPlayer,WavePad)在同一個鼓拾音器之前的靜音秒。
特殊的MP3是「像滾石」從Amazon.com下載。測試了其他幾個MP3,沒有發現我的代碼和其他應用程序有任何類似的區別。大多數MP3不是以這麼長時間的沉默開始的,所以我懷疑這是差異的根源。
調試問題:
我不能真正找到一種方法,甚至證明其他應用程序是正確的,n音訊/我是錯的,也就是比較塊逐塊我的代碼的結果一個「已知的良好參考實施」;因此我甚至無法精確定義我需要調試的「錯誤」。由於我的代碼在1.4秒內讀取了數千個樣本,沒有明顯的錯誤,所以我無法考慮如何縮小輸入流中何處/何時尋找錯誤。
NAudio代碼的核心是對acmStreamConvert()的P/Invoke調用,這是一個Windows「黑匣子」調用,我無法考慮如何進行錯誤檢查。
任何人都可以想到的任何技巧/技術調試這個?
謝謝你的背景。所以我不會期望從n音訊MP3解碼太多,但它仍然把我遠勝從頭開始盤算這一切我自己,我還是不知道更好的方式來爲低預算的商業應用解碼MP3。 – 2010-05-16 15:09:31