Я хочу получить продолжительность (общее время) аудиофайла за считанные секунды. Аудиофайл может быть любого формата I.E. (.mp3, .wav, .wma и т. д.).Как получить продолжительность аудиофайла?
try {
File file = new File("C:/Users/Administrator/AppData/Local/Temp/" +
"01 - Ab Tere Bin Jee Lenge Hum-(MyMp3Singer.com).mp3");
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(file);
AudioFormat format = audioInputStream.getFormat();
long frames = audioInputStream.getFrameLength();
double durationInSeconds = (frames + 0.0)/format.getFrameRate();
System.out.println("duration in seconds"+durationInSeconds);
AudioFileFormat audioFileFormat = AudioSystem.getAudioFileFormat(file);
Map<String, Object> properties = audioFileFormat.properties();
System.out.println("properties"+properties.size()+"empy::"+properties.isEmpty());
for(String key: properties.keySet()){
System.out.println(key +" :: "+ properties.get(key).toString());
}
} catch (Exception e) {
System.out.println("Exception:::::" + e.getMessage());
}
Я попытался сделать это, используя выше код, но он дает:
Exception:::::could not get audio input stream from input file
http://stackoverflow.com/questions/3009908/how-do-i-get-a-sound-files-total-time-in-java –