2017-09-28 34 views
2

我完全迷失了。我發現代碼非常簡單,並且沒有在文檔中找到任何理由爲什麼會返回一個很大的負數。代碼如下MediaPlayer getDuration返回-1412558917

private int getDuration(String audioPath) throws Exception { 
    mediaPlayer = new MediaPlayer(); // This variable was created globally 
    mediaPlayer.setDataSource(audioPath); 
    return mediaPlayer.getDuration(); // Here it returns -1412558917 in every audio file i record, no matter if it's 3 seconds long or 8 

} 

我認爲記錄它並不重要,但是如果我誤了,我會添加代碼。我保存文件的格式是3gp。我能夠在這之後重現聲音,所以我不知道可能是什麼問題

感謝

回答

1

您是否嘗試過加入mediaPlayer.prepare();返回時間之前?

+0

現在我覺得啞巴了。我能夠這樣解決它。你有任何我可以閱讀的鏈接,以更好地理解爲什麼這是必要的嗎?謝謝! –

+0

隨時:)記得標記答案爲接受,如果它爲你工作。 您可以在這裏閱讀更多關於Mediaplayer - https://developer.android.com/reference/android/media/MediaPlayer.html –

相關問題