MediaPlayer的getDuration()
方法給了我一些音頻文件的錯誤值。我認爲所有這些文件的共同特點是它們使用Audacity或其他音頻編輯工具進行處理。嘗試將MediaPlayer進度綁定到進度欄時,這是一個問題。MediaPlayer.getDuration()返回錯誤的持續時間
我繼續,並記錄它:
while(mPlayer.isPlaying())
Log.i("progress/total",
mPlayer.getCurrentPosition() +
"/" + mPlayer.getDuration());
,發現這個:
I/progress/total(643): 14615/14620
I/progress/total(643): 14647/14620
這是僅有的兩個十萬日誌行,但問題是進展後經過什麼getDuration()相信是歌曲的總持續時間,它只是繼續前進。因爲MediaPlayer實際上可以提供正確的總持續時間,是否有一種方法可以使用它來爲ProgressBar獲取適當的最大值?
有多長歌實際上是? – ghostbust555
約18秒。 – JMRboosties
這些文件的格式是什麼?很多玩家報告可變比特率MP3的壞值。嘗試以固定比特率再次導出它們,並查看是否修復了它。 – Geobits