【问题标题】:How do I split an mp3 file into smaller files?如何将 mp3 文件拆分为更小的文件?
【发布时间】:2010-11-13 15:00:01
【问题描述】:

我想制作一个程序,它将一个 MP3 文件分解为许多较小的 mp3 文件,基于 1-2 秒的无声音(静音)。 在 c# 中执行此操作的最简单方法是什么?

【问题讨论】:

  • 这真的需要以编程方式完成吗?我想有某种现有的软件可以做到这一点。
  • 我偶尔看到一张专辑被翻录成所有曲目都成为一个庞大的文件;我猜 Rhein 有几个以这种方式配置的文件,并希望能够分批清理它们,从而使组织库更容易。尽管我在下面说了什么,我可能会建议正确地重新翻录有问题的专辑。您确实拥有他们的合法权利,对吧?

标签: c# mp3 split


【解决方案1】:

Bass library。巴斯拥有你需要的一切。它可以访问、录制和编辑 mp3 等媒体流,让您可以在不同时间点对音量进行采样。它有一个 .net api,所以你可以在 c# 中使用它。不幸的是,如果您将它用于商业应用程序,它确实需要花钱,但他们确实提供了免费的非商业许可。

Sox 是一个命令行工具,它可以选择在 n 秒的静音时间分割 mp3。您可以随时使用系统命令从 c# 调用 sox。

其他相关链接。

Ripping a CD to mp3 in C# - third party component or api out there?

Audio Libraries for MP3 editing

How do I merge/join mp3 files with c#

此代码显示了制作 CD 的方法 C# 中的开膛手。有一些API 允许读取音频 CD 的供应商 轨道,但也可以这样做 它使用允许低级别的 API 访问 CD 驱动器,例如 ASPI 从 Adaptec 或 IOCTL 控制代码。这 在这种情况下使用后一种方法, 因为不需要安装 任何第三方软件,它是 完全被 Win32 API 覆盖 功能。

http://www.codeproject.com/KB/cs/csharpripper.aspx

【讨论】:

    【解决方案2】:

    分割 MP3 流将很难以任何精度进行。压缩的 MP3 数据作为由许多样本组成的连续音频数据块存在。执行此操作的最简单方法是逐步或整体解码流,执行您的操作,然后重新编码(据我了解,大多数点唱机软件都是这样做的)

    【讨论】:

      【解决方案3】:

      对文件的二进制格式有扎实的了解将是一个很好的起点。完成后,您将知道文件中的静音是什么样的。您可能必须准确定义什么是沉默。假设像大多数音频一样,它是从模拟源开始的,那么几乎可以肯定,“沉默”中隐藏着一些噪音。您对环境/背景噪音的容忍度是多少?

      一旦你知道你在寻找什么,只需扫描文件,寻找“它”。

      简单...

      【讨论】:

        【解决方案4】:

        已经存在执行此操作的程序:

        http://mp3splt.sourceforge.net/mp3splt_page/home.php

        【讨论】:

          猜你喜欢
          • 2012-02-13
          • 2017-12-07
          • 1970-01-01
          • 1970-01-01
          • 2021-06-11
          • 2012-06-26
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多