通常,播放器看到的MP3时长是整整的多少秒,我想精确地控制播放,需要更精确的毫秒时长。试了好几种方法,都不行。最好自己找到一个方法,既然网上这方面的内容较少,那我就记录一下。
这是用Java来获取精确时长的代码:
public double getMp3Time(File file)
{
double t = 0;
try {
MP3File f = (MP3File)AudioFileIO.read(file);
MP3AudioHeader audioHeader = (MP3AudioHeader)f.getAudioHeader();
t = audioHeader.getPreciseTrackLength();
} catch(Exception e) {
e.printStackTrace();
}
return t;
}
从结果来看,非常好,得到的结果是精准的,靠谱的。