根据时间在音频文件中查找

发布于 2024-10-07 03:52:04 字数 282 浏览 1 评论 0原文

根据数据包级别查找音频文件很简单。在填充下一个缓冲区时,只需更改 currentPacket

AudioFileReadPackets(_audioFile, false, &numBytes, _packetDescs, _currentPacket, &numPackets, buffer->mAudioData);

但是如果您想定位距离文件开头 10 秒的位置怎么办? 对于 CBR 文件,这应该很容易计算 - 但 VBR 文件呢?

Seeking through an audio file based on the packet level is simple. One just has to change currentPacket when filling the next buffer:

AudioFileReadPackets(_audioFile, false, &numBytes, _packetDescs, _currentPacket, &numPackets, buffer->mAudioData);

But what if you want to seek to position 10s from the beginning of the file?
For the CBR files this should be simple to calculate - but what about VBR files?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

东京女 2024-10-14 03:52:05

解决方案是使用 ExtAudio* API。人们可以即时将输入文件转换为 LPCM,然后查找就变得微不足道了。

The solution is to use the ExtAudio* API. One can convert the input files to LPCM on the fly and then seeking becomes trivial.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文