我正嘗試在應用程序等媒體播放器中使用JAudioTagger來爲每首歌曲製作元數據,但我沒有看到用於播放時長的字段。我確定必須有一個,但我似乎無法找到它,一對夫婦的搜索沒有發現任何東西。我在看:http://www.jthink.com/jaudiotagger/tagmapping.html和java文檔。使用JAudioTagger獲取曲目持續時間?
有沒有人有任何想法?感謝您的任何幫助!
我正嘗試在應用程序等媒體播放器中使用JAudioTagger來爲每首歌曲製作元數據,但我沒有看到用於播放時長的字段。我確定必須有一個,但我似乎無法找到它,一對夫婦的搜索沒有發現任何東西。我在看:http://www.jthink.com/jaudiotagger/tagmapping.html和java文檔。使用JAudioTagger獲取曲目持續時間?
有沒有人有任何想法?感謝您的任何幫助!
對於大多數格式,長度不在標籤中。
許多圖書館(和媒體播放器),像TagLib,estimate它通過計算文件的幾百千字節(比特率)的乘積的長度以秒爲單位。有時候這種情況會非常糟糕,但是,令人驚訝的一部分時間,它運行良好。
正如剛纔的答覆說,軌道長度不存儲在標籤中,但可以從音頻本身中得到,這就是爲什麼它通過audioheader對象入店,而不是標籤本身即
AudioFile audioFile = AudioFileIO.readFile("/somefile.mp3");
System.out.println(audioFile.getAudioHeader().getTrackLength());
如果它是一個MP3,你都可以得到格式化爲毫米徑跡輸出nicel:SS
System.out.println((Mp3AudioHeader)audioFile.getHeader().getTrackLengthAsString());
或
new MP3File("/somefile.mp3").getMP3AudioHeader().getTrackLengthAsString();
啊,這很有趣!感謝你的回答。我沒有在jaudiotagger中看到這個功能,所以我想我應該自己實現它,或者找到另一個庫。謝謝! – Nico 2012-02-22 18:00:30