Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Time 如何使用java查找mp3文件的持续时间/总播放时间?_Time_Mp3_Duration_Jlayer - Fatal编程技术网

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

Time 如何使用java查找mp3文件的持续时间/总播放时间?,time,mp3,duration,jlayer,Time,Mp3,Duration,Jlayer,我正在用Java开发一个应用程序。它的一部分包括通过另一个应用程序播放mp3文件。我需要找到mp3文件的持续时间(总播放时间)。如何做到这一点?您可以使用Jaudiotager轻松做到这一点: Tag tag; java.util.logging.Logger.getLogger("org.jaudiotagger").setLevel(Level.OFF); audioFile = AudioFileIO.read(new File(filePath)); System.out.printl

我正在用Java开发一个应用程序。它的一部分包括通过另一个应用程序播放
mp3
文件。我需要找到
mp3
文件的持续时间(总播放时间)。如何做到这一点?

您可以使用Jaudiotager轻松做到这一点:

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信息,但我还没有尝试过。有关更多信息:

您可以在此处获取它的jar文件:


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

AudioFile audioFile = AudioFileIO.read(MyFileChooser.fileName);
int duration= audioFile.getAudioHeader().getTrackLength();
System.out.println(duration);
这将给出一个包含分钟和秒持续时间的字符串。例如:
316
用于
3:16

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