java - 在 Java 中查找 MP3 文件的持续时间

标签 java mp3

好的,所以我尝试使用 ID3 标签来获取持续时间,我也尝试使用 JMF media player.getDuration()。

player.getDuration().getSeconds()

该文件是 VBR。 JMF 中是否有任何轻量级库或其他东西可以用来解决这个问题。

谢谢。

最佳答案

我使用 JAudioTagger 来实现这一点。下面的代码将为您提供 MP3 轨道的持续时间。

int duration = 0;

try {
  AudioFile audioFile = AudioFileIO.read(new File("file.mp3"));
  duration = audioFile.getAudioHeader().getTrackLength();

} catch (Exception e) {
  e.printStackTrace();

}

您也可以将 audioFile.getAudioHeader() 转换为 MP3AudioHeader 并使用方法 getPreciseTrackLength() 获得更精确的持续时间。但是,这(我相信)仅适用于 MP3 文件,不适用于其他格式(例如 WAV 文件)。

关于java - 在 Java 中查找 MP3 文件的持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5759331/

相关文章:

javascript - 仅使用javascript检查音频文件是否存在

c# - 如何在不添加任何依赖项的情况下从 C# 程序播放 mp3 文件?

python - 在python中没有初始点击就播放声音

java - 将整数转换为 ASCII key 字符串

java - 使用对象数组的空指针异常

java - 导入 Java OrientDB 包

c# - 如何将音频数据与时间相关联

ruby - 如何以编程方式将 mp3 转换为 itunes 可播放的 aac/m4a 文件?

java - 如何 "logic:iterate"只是一个对象?

java - 如何对 apache-poi 中的sheet.getMergedRegions()的结果进行排序