Delphi:如何创建具有特定秒数的静音 MP3 文件?

Posted

技术标签:

【中文标题】Delphi:如何创建具有特定秒数的静音 MP3 文件?【英文标题】:Delphi : How to create MP3 file with certain number of seconds of silence? 【发布时间】:2009-02-12 19:55:04 【问题描述】:

我需要创建一个静音秒数的 mp3 文件吗?

以编程方式执行此操作的方法是什么?

编辑: 它不需要重新插入到 mp3 中,只需一个 mp3 文件,其中包含 x 秒长的静音。

【问题讨论】:

【参考方案1】:

您只是想要一个 X 秒长的 MP3,只是静音,还是想要将静音注入现有的 MP3?

这有点复杂。默认情况下,Windows XP 安装了低质量的 MPEG 编码编解码器。如果您滚动到底部有关于 Wave 文件的信息,您可以在同一页面上找到有关 encoding to an MP3 with Delphi 的一些线人。不过有些链接坏了。

这是一个两步过程,您需要生成一个波形,然后将该波形编码为 MP3 文件。 MP3 文件有一个标题和块,所以你不能只循环几次 40 毫秒的 mp3。

【讨论】:

我只需要获得 x 秒静音的单个文件,我不会重新插入它/或重新编码它。谢谢。 然后你需要生成一个静音波形并使用我提供的链接对其进行编码。您可以调用内置于 XP 中的编解码器或将其与您的应用程序捆绑在一起。顺便说一句,请注意,在您的应用程序中使用 MP3 需要支付许可费。 我在那个网站上找不到任何东西 链接坏了?! 所有这些断开的链接会是什么。世界正在分崩离析。 我找到的所有其他页面也损坏或丢失。【参考方案2】:

编码一个非常短(约 40 毫秒)的静音波形文件,并将生成的 mp3 块作为数组放入源代码中。该块可能以 32kbit 编码(这是可能的最低比特率 iirc)。

或者,您必须链接到任何 mp3 编码库(即 LAME)并为其提供静音以输出结果。

【讨论】:

以上是关于Delphi:如何创建具有特定秒数的静音 MP3 文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式从 MP3 中删除静音?

如何让 FFmpeg 在单循环静音视频中自动注入 mp3 音轨?

如何将MAV转换成MP3格式,为啥用千千静音后成无效格式了

如何更改 mp3 比特率? (德尔福)

以编程方式操作 MP3:静音某些部分?

如何在不显示秒数的情况下使用 .toLocaleTimeString()?