用Java读出Mp3歌曲的时间/长度/持续时间

时间:2010-06-29 13:19:15

标签: java audio mp3

我想知道如何读出mp3歌曲的持续时间。如果我是对的,它不是ID3标签所以我想我必须以某种方式计算它? 对于其余的ID3标签我正在使用这个库: http://javamusictag.sourceforge.net/index.html

干杯

3 个答案:

答案 0 :(得分:3)

我会将代码更改为...

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

答案 1 :(得分:0)

使用一些MP3库。 MP3格式并不是那么容易读出歌曲长度的简单方法。

答案 2 :(得分:0)

您可以尝试使用基于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标签,这可能会为您节省额外的依赖。