我想知道如何讀出mp3歌曲的持續時間。如果我是對的,它不是一個ID3標籤,所以我想我必須以某種方式計算它? 對於ID3標籤的其餘部分我使用這個libary: http://javamusictag.sourceforge.net/index.html在Java中讀出Mp3歌曲的時間/長度/持續時間
乾杯
我想知道如何讀出mp3歌曲的持續時間。如果我是對的,它不是一個ID3標籤,所以我想我必須以某種方式計算它? 對於ID3標籤的其餘部分我使用這個libary: http://javamusictag.sourceforge.net/index.html在Java中讀出Mp3歌曲的時間/長度/持續時間
乾杯
我會改變代碼...
File file = new File("filename.mp3");
AudioFileFormat baseFileFormat = new MpegAudioFileReader().getAudioFileFormat(file);
Map properties = baseFileFormat.properties();
Long duration = (Long) properties.get("duration");
使用MP3SPI使用new MpegAudioFileReader()
代替AudioSystem
,因爲我是越來越有MP3文件的UnsupportedAudioFileException occured : file is not a supported file type
此方法不適用於此曲目:https://www.dropbox.com/s/735fdkp9roskapw/39007.mp3?dl=0 - 曲目有3:52,但此代碼是22:17。 – 2014-12-18 14:47:07
當前由.properties()返回的hashmap甚至沒有一個名爲「duration」的鍵,至少我沒有找到。 – 2016-05-03 13:55:24
將無法正常工作... – AlwaysConfused 2016-11-06 15:35:56
您可以嘗試使用基於JLayer的MP3SPI。然後下面的代碼將讓你得到這首歌時長:
File file = new File("filename.mp3");
AudioFileFormat baseFileFormat = AudioSystem.getAudioFileFormat(file);
Map properties = baseFileFormat.properties();
Long duration = (Long) properties.get("duration");
您還可以使用MP3SPI得到處可爲您節約額外的依賴ID3標籤。
這種方法不適用於此曲目:https://www.dropbox.com/s/735fdkp9roskapw/39007.mp3?dl=0 - 曲目有3:52,但此代碼是22:17。 – 2014-12-18 14:47:51
哦,是我使用JLayer播放MP3如果這事很重要 – Timothy 2010-06-29 13:23:52
可能的重複[如何獲得一個MP3文件的Java總時間?](http://stackoverflow.com/questions/3046669/how-do-i-get-a-mp3-files -total-time-in-java) – 2014-12-18 14:46:33