我正在开发一个Java应用程序。它的一部分包括通过另一个应用程序播放mp3
文件。我需要找到mp3
文件的持续时间(总播放时间)。我怎么做呢?
使用JAudioTagger:
可以很容易地做到这一点Tag tag;
java.util.logging.Logger.getLogger("org.jaudiotagger").setLevel(Level.OFF);
audioFile = AudioFileIO.read(new File(filePath));
System.out.println("Track length = " + audioFile.getAudioHeader().getTrackLength());
将打印出filePath处文件的轨道长度。日志记录行是为了从JAudioTagger中删除大量(可能)不需要的信息/调试日志。除此之外,JAudioTagger支持从不同的音频文件类型(MP3, MP4, WMA, FLAC, Ogg Vorbis)中获取各种元数据标签,这些标签都来自文件嵌入标签。你甚至可以很容易地获得MusicBrainz的信息,但我还没有尝试过。查看更多信息:
http://www.jthink.net/jaudiotagger/examples_read.jsp你可以在这里获得它的jar文件:
http://download.java.net/maven/2/org/jaudiotagger/对于小型.mp3
文件,您可以使用:
AudioFile audioFile = AudioFileIO.read(MyFileChooser.fileName);
int duration= audioFile.getAudioHeader().getTrackLength();
System.out.println(duration);
这将给出一个包含分和秒持续时间的字符串。例:316
for 3:16
.