如何在Delphi中获取MP3/wav音频文件的持续时间(以分钟和秒为单位)?
最佳答案
您可以通过将文件大小除以比特率来计算持续时间。您可以从其中一个帧头获得比特率。当然,这不适用于可变速率的MP3,因为您可以为每个帧设置不同的速率。
使用Header Layout(只有四个字节):
查找同步 header ,该 header 具有设置为1的11个连续位。
以前是12,但经过调整后允许使用MPEG 2.5版。
我找不到Delphi示例,但这是一个使用此技术作为参考的C# implementation。请参见getLengthInSeconds方法。
关于delphi - MP3/wav音频文件的持续时间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1065086/