Как узнать продолжительность / общее время воспроизведения mp3-файла с использованием Java? - PullRequest
4 голосов
/ 31 октября 2011

Я занимаюсь разработкой приложения на Java. Часть этого включает воспроизведение файла mp3 через другое приложение. Мне нужно найти продолжительность (общее время воспроизведения) файла mp3. Как мне это сделать?

Ответы [ 2 ]

6 голосов
/ 17 июня 2012

Вы можете сделать это очень легко, используя JAudioTagger:

Tag tag; 
java.util.logging.Logger.getLogger("org.jaudiotagger").setLevel(Level.OFF);
audioFile = AudioFileIO.read(new File(filePath));
System.out.println("Track length = " + audioFile.getAudioHeader().getTrackLength());

Это распечатает длину дорожки файла в filePath.Строка логгера предназначена для удаления большого количества (вероятно) нежелательной информации / отладки из JAudioTagger.Кроме того, JAudioTagger поддерживает получение всевозможных тегов метаданных из различных типов аудиофайлов (MP3, MP4, WMA, FLAC, Ogg Vorbis), оба из встроенных тегов файлов.Вы даже можете легко получить информацию о MusicBrainz, но я еще не пробовал.Для получения дополнительной информации:

http://www.jthink.net/jaudiotagger/examples_read.jsp

Вы можете получить файлы jar для этого здесь:

http://download.java.net/maven/2/org/jaudiotagger/

0 голосов
/ 18 января 2016

Для небольших .mp3 файлов вы можете использовать:

AudioFile audioFile = AudioFileIO.read(MyFileChooser.fileName);
int duration= audioFile.getAudioHeader().getTrackLength();
System.out.println(duration);

Это даст строку, содержащую минуты и секунды в ней.Например: 316 для 3:16.

Обратите внимание, что этот метод не подходит для больших файлов.

...