好的,所以我尝试使用ID3标签来获取持续时间,我也尝试使用JMF媒体播放器.getDuration()。
player.getDuration().getSeconds()
该文件是VBR。 JMF中是否有可用于解决此问题的轻量级库或其他内容。
感谢。
答案 0 :(得分:4)
我使用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文件)。