之前做项目需要做一个类似于mp3的背景音乐功能,由于项目环境是ARM+Linux的所以我马上就想到了madplay这个开源的播放器,但是这个播放器没办法返回播放音乐文件的播放时间。这样做进度条功能就没招了,考虑了很久最终决定通过解析mp3文件来获取它的播放时间。
要想获取mp3文件的时间首先得分析mp3文件的帧格式,至于mp3文件的帧格式分析网上有相应的资料,我就不花大力气讲解了,给大家几个网址,可以自己去参考学习:http://www.docin.com/p-454279746.html
我通过分析mp3文件的帧格式用c++写了一个获取mp3播放时间的接口,经过了实际项目的检测,准确率还很高,这里把代码分享给大家希望对大家有所帮助:http://download.csdn.net/detail/yanchen0314/7573607
只需要调用getMPEGTime方法就能返回mp3文件的播放时间(秒数);