2015-05-12 4 views
2

Я хочу получить продолжительность (общее время) аудиофайла за считанные секунды. Аудиофайл может быть любого формата 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 
+0

http://stackoverflow.com/questions/3009908/how-do-i-get-a-sound-files-total-time-in-java –

ответ

1

Вы, вероятно, не хватает MP3-кодеки. Возможно, вы захотите попробовать Tritonus: Open Source Java Sound.

Также проверьте связанную тему: MP3 playback using Java Sound and Sun MP3 plugin

+0

является его библиотека, если да, пожалуйста, дайте образец программы для получения продолжительности звукового файла – programminglover

+0

@programminglover: - Программа, которую вы написали, верна. Вам просто нужно добавить некоторые файлы jar, такие как 'jl.jar mp3spi.jar и tritonus_share.jar, в мой путь к классам' к вашему пути к классам –

+0

См. Также ** Интерфейс поставщика услуг ** и ** Поддержка декодирования MP3 ** в разделе [ Java Sound Wiki] (http://stackoverflow.com/tags/javasound/info). В JMF включен MP3-декодер. Включите 'mp3plugin.jar' (имя?) В пути класса времени выполнения, и вы должны быть настроены для перехода. Я использовал его для музыкального автомата на базе Java Sound. –

Смежные вопросы