gpt4 book ai didi

delphi - MP3/wav 音频文件的持续时间

转载 作者:行者123 更新时间:2023-12-03 15:03:44 25 4
gpt4 key购买 nike

如何在 Delphi 中获取 MP3/wav 音频文件的持续时间(以分钟和秒为单位)?

最佳答案

您可以通过将文件大小除以比特率来计算持续时间。您可以从帧头之一获取比特率。当然,这不适用于可变速率 MP3,因为您可以为每一帧设置不同的速率。

使用Header Layout (只有四个字节):

  1. 在流中打开 MP3

  2. 通过阅读找到第一帧标题的开头,直到找到找到同步头,其中有 11 个连续位设置为 1。曾经是 12,但经过调整以支持 MPEG 版本 2.5。

  3. 确定 MPEG 版本 ID。出于查找比特率的目的,V2.5 与 V2 相同

  4. 确定图层描述

  5. 读取比特率索引

  6. 使用 MPEG 版本、层描述和比特率索引,从链接 header 引用中的比特率索引表确定实际比特率

  7. 将文件大小(以千位为单位)((8 * 以字节为单位的大小)/1000)除以比特率即可得到以秒为单位的持续时间

我找不到 Delphi 示例,但这里有 C# implementation使用此技术仅供引用。请参阅 getLengthInSeconds 方法。

关于delphi - MP3/wav 音频文件的持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1065086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com