2012-03-23 129 views
3

我正在開發一個媒體播放器項目,並且我想根據正在播放的MP3文件的長度旋轉圖像,即當圖像應該停止旋轉時歌曲結束。 我想獲得所選MP3文件的持續時間,以便我可以定時輪換。如何在Android中獲取MP3文件的持續時間

我看過這個問題Get PCM data from an MP3 file in Android但我看不到如何讀取歌曲的持續時間。我該如何做到這一點 - 有什麼功能或方法來獲得文件的持續時間?

+0

你這是什麼意思長?大小或MP3文件的持續時間? – 2012-03-23 06:10:56

+1

http://stackoverflow.com/questions/8042259/get-mp3-duration-in-android – ingsaurabh 2012-03-23 06:13:36

+0

究竟是.......... DURATION .... – subrussn90 2012-03-23 08:21:05

回答

7

希望這將幫助你

MediaMetadataRetriever metaRetriever = new MediaMetadataRetriever(); 
    metaRetriever.setDataSource(filePath); 

String out = ""; 
    // get mp3 info 

    // convert duration to minute:seconds 
String duration = 
metaRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION); 
Log.v("time", duration); 
long dur = Long.parseLong(duration); 
String seconds = String.valueOf((dur % 60000)/1000); 

Log.v("seconds", seconds); 
String minutes = String.valueOf(dur/60000); 
out = minutes + ":" + seconds; 
if (seconds.length() == 1) { 
    txtTime.setText("0" + minutes + ":0" + seconds); 
}else { 
    txtTime.setText("0" + minutes + ":" + seconds); 
} 
Log.v("minutes", minutes); 
    // close object 
    metaRetriever.release(); 
相關問題