如何使用java查找mp3文件的持续时间/总播放时间?

时间:2011-10-30 20:31:15

标签: time mp3 duration jlayer

我正在用Java开发一个应用程序。部分内容包括通过其他应用程序播放mp3文件。我需要找到mp3文件的持续时间(总播放时间)。我该怎么做?

2 个答案:

答案 0 :(得分:6)

您可以使用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/

答案 1 :(得分:0)

对于小.mp3个文件,您可以使用:

AudioFile audioFile = AudioFileIO.read(MyFileChooser.fileName);
int duration= audioFile.getAudioHeader().getTrackLength();
System.out.println(duration);

这将给出一个包含分钟和秒的持续时间的字符串。例如:316 3:16

请注意,此方法不适用于较大的文件。