好的,所以我尝试使用ID3标签来获取持续时间,我也尝试使用JMF媒体播放器.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文件).