首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JAudioTagger获取曲目持续时间?

使用JAudioTagger获取曲目持续时间?
EN

Stack Overflow用户
提问于 2012-02-23 01:34:59
回答 3查看 2.6K关注 0票数 1

我正在尝试在一个类似媒体播放器的应用程序中使用JAudioTagger来链接每首歌曲的元数据,但我没有看到曲目持续时间的字段。我确定肯定有一个,但我似乎找不到它,搜索了几次也没有找到任何东西。我正在看:http://www.jthink.com/jaudiotagger/tagmapping.html和java文档。

有谁知道吗?谢谢你的帮助!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-23 01:47:21

对于大多数格式,长度不在标记中。

许多库(和媒体播放器),如TagLib,通过计算出文件的长度(以秒为单位)(比特率)并乘以倍增,为您estimate它。有时这会出现可怕的错误,但令人惊讶的是,在某些情况下,它工作得很好。

票数 2
EN

Stack Overflow用户

发布于 2012-07-11 16:50:04

正如前面的回答所说的那样,轨道长度不存储在标签中,而是可以从音频本身导出,这就是为什么它是通过audioheader对象而不是标签本身来访问的。

代码语言:javascript
复制
AudioFile audioFile = AudioFileIO.readFile("/somefile.mp3");
System.out.println(audioFile.getAudioHeader().getTrackLength());

如果它是一个mp3,您可以得到格式为mm:ss的跟踪长度输出nicel

代码语言:javascript
复制
System.out.println((Mp3AudioHeader)audioFile.getHeader().getTrackLengthAsString());

代码语言:javascript
复制
new MP3File("/somefile.mp3").getMP3AudioHeader().getTrackLengthAsString();
票数 10
EN

Stack Overflow用户

发布于 2020-03-22 04:29:31

我推荐使用mp4parser库,因为它能以预期的精度返回持续时间(就像ffmepg一样)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9399995

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档