【问题标题】:how do i find out duration/total play time of an mp3 file using java?如何使用 java 找出 mp3 文件的持续时间/总播放时间?
【发布时间】:2011-12-18 08:33:54
【问题描述】:

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

【问题讨论】:

    标签: time mp3 duration jlayer


    【解决方案1】:

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

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2011-08-11
        • 2013-05-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多