4

我正在尝试在 iPhone 上创建类似钢琴应用程序的东西。当人们敲击一个键时,它会弹奏钢琴音符。基本上,目前只有 7 个音符 (C)。每个笔记是一个 .caf 文件,长度为 5 秒。

不知道有没有办法保存用户播放的歌曲并导出为mp3/caf格式?AVAudioRecord 似乎只从麦克风输入记录。

非常感谢

4

1 回答 1

0

对于这样的应用程序,您可能不想录制到音频文件中 - 而是将音符按下和计时记录为更紧凑的格式,然后像用户在记录的时间按下音符一样播放.

如果您确实希望能够导出音频文件格式,那么您可以编写一个简单的混音器,它将源样本中的各个样本与正确的偏移量相加,并将结果放入输出音频缓冲区。您可能还应该编写一个非常简单的压缩器,以便保持样本音量而不会因“削波”而造成任何失真。这可以通过将任何超过最大样本值 95% 的求和样本除以来完成。也可能有一种方法可以使用 OpenAL 为您进行混音并回放到音频缓冲区中。

于 2011-11-26T19:08:27.717 回答