我想阅读 mp3 文件的详细信息,例如持续时间、比特率、艺术家等。 我可以通过阅读以下某些行来找到一些信息:
File f=fc.getSelectedFile();
FileInputStream inp=null;
byte[] buffer=new byte[128];
inp= new FileInputStream(f)
inp.skip(f.length()-128);
inp.read(buffer);
}
String str=new String(buffer);
tf.setText(str);
我想要清楚地获取所有详细信息。我怎样才能做到这一点?
最佳答案
Get duration Using MP3SPI:
private static void getDurationWithMp3Spi(File file) throws UnsupportedAudioFileException, IOException {
AudioFileFormat fileFormat = AudioSystem.getAudioFileFormat(file);
if (fileFormat instanceof TAudioFileFormat) {
Map<?, ?> properties = ((TAudioFileFormat) fileFormat).properties();
String key = "duration";
Long microseconds = (Long) properties.get(key);
int mili = (int) (microseconds / 1000);
int sec = (mili / 1000) % 60;
int min = (mili / 1000) / 60;
System.out.println("time = " + min + ":" + sec);
} else {
throw new UnsupportedAudioFileException();
}
关于Java I/O mp3 文件读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11339941/