录制音频,添加效果,然后将结果保存到音频文件

问题描述:

我无法完成标题所说的内容。我的目标是能够为您的录音添加任何所需的效果,保存修改后的音频,然后将其发送到服务器。录制音频,添加效果,然后将结果保存到音频文件

我已经搜查了fourms和跨越这些线程来: viewtopic.php F = 7 & T = 13029 & P = 45362 &体液型=节约#p45362 viewtopic.php F = 7 & T = 12660 &? p值= 44586 &体液型=节省#p44586 viewtopic.php?F = 7 &吨= 13178 & p值= 45746 &体液型=节省#p45746

读取这些后,我看到它能够保存修改后的音频,但它只能保存为一个WAV?就像我在保存后所说的那样,它会被发送到服务器,所以尺寸是一个大问题,与其他格式相比,wavs相对较大。忽略这个事实,我试图实现FMOD_OUTPUTTYPE_WAVWRITER,我无法让它工作;有没有使用它的好例子?我看了虽然在图书馆的例子,但我没有看到..

但该应用程序的基本结构是记录,关闭一些开关,看看你想要什么过滤器,预览,然后按一个可以保存的按钮“保存”。这个保存功能由什么组成?

任何帮助表示赞赏,谢谢。

使用FMOD_OUTPUTTYPE_WAVWRITER非常简单,您可以通过System :: setOutput设置类型,通过System :: init extradriverdata指定输出文件。 extradriverdata应该是设备可写区域的绝对路径,例如文档目录。完成播放后,调用System :: release并完成文件。

另一种录制波形数据的方法是创建一个自定义DSP并将其连接到播放录制数据的通道。然后,您将定期回调,为您提供必须自己写入磁盘的浮动数据。您可以在dsp_custom和recordtodisk示例中分别找到DSP的示例和写入wav文件。

最后要说明的是,FMOD并不具备将压缩音频写入磁盘的功能,您将需要另一个API来实现此目标。

+0

感谢您的帮助!我会按照你的建议去做,并且明天试着让它工作。我想我只是无法看到使用FMOD背后的结构。 – RyanG 2011-05-27 03:05:57

+0

将.wav文件导入NSData以将其存储在对象中的最佳方式是什么?我想要传递声音,并且我正在尝试找出最好的方式来做到这一点。 – RyanG 2011-06-03 18:33:52

+0

您可以使用FMOD打开.wav并使用Sound :: lock/Sound :: unlock或Sound :: readData访问原始PCM。但是,如果这是wavwriter输出的.wav文件,最好不要使用该解决方案,而是使用DSP选项。 – 2011-06-05 23:47:39

您可以通过ExtAudioFile API另存为AAC文件。