6

我有几个 wav 文件,可能还有一个 mp3,我想将它们混合成一个 wav 或 mp3 文件。我正在使用 C/C++/Obj-C (iPhone)。我真的没有这种事情的经验。如果有人能给我一些指示,我将不胜感激。

基本上我想做的是类似的事情,例如 Audacity 可以做的事情,但是以编程方式。是否有一个声音库,您可以在其中轻松打开音频文件并将它们“粘贴”到定义位置的新文件中?哪里混音是您不必担心的?

谢谢。

4

3 回答 3

3

混合线性 PCM 的两个声音缓冲区只需将它们中的每个样本值相加,当然要确保不会溢出。通常你会在缓冲区中使用浮点值,所以问题是当你回到文件时。您还应该在 iPhone 上安装 CoreAudio,它可以打开/读取/写入不同格式的声音文件。我认为 iPhone 上还有一个更高级别的 api 可用,但不在 mac 上,请查看苹果文档。

于 2010-04-18T17:14:01.523 回答
2

如果您专门寻找 Audacity 的功能,它在引擎盖下使用PortAudio(看起来像 MIT 许可证)。也许您可以尝试使用它?

于 2010-04-23T13:32:46.420 回答
0

阅读多媒体支持作为起点,它包含很多信息。这是一个摘录:

在 iphone 上混合音频有 3 种方法:

  • 音频单元框架
    • 多声道混音器 - “让您将多个音频流混合到一个流中”
    • 3D 混合器单元 - “让您混合多个音频流,指定立体声输出平移,操纵采样率”
  • 用于游戏开发的 OpenAl

还要检查以下示例:iPhoneMultichannelMixerTest

创建两个输入总线,每个都带有输入音量控制。还提供了整体混音器输出音量控制,并且可以启用或禁用每条总线

于 2010-04-18T16:41:24.710 回答