如何使用混响效果保存录制的音频
Posted
技术标签:
【中文标题】如何使用混响效果保存录制的音频【英文标题】:How to save a recorded audio with reverb effect 【发布时间】:2014-04-23 13:55:06 【问题描述】:我正在使用 theamazingaudioengine 来录制、播放和添加效果,例如 ios 应用程序的混响。我可以录制、播放录制的音频以及混响效果。但我无法将带有混响效果的音频文件保存到画廊。谁能帮我解决这个问题。
我正在像这样保存录制的音频。
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
NSArray *documentsFolders = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [[documentsFolders objectAtIndex:0] stringByAppendingPathComponent:@"Recording.aiff"];
[library writeVideoAtPathToSavedPhotosAlbum:[NSURL URLWithString:path] completionBlock:^(NSURL *assetURL, NSError *error)
/*notify of completion*/
NSLog(@"AssetURL: %@",assetURL);
NSLog(@"Error: %@",error);
if (!error)
//video saved
[[self appDelegate] showAlertWithTitle:@"Audio Saved" message:@""];
else
[[self appDelegate] showAlertWithTitle:@"Error" message:error.domain];
];
提前致谢!
【问题讨论】:
您能否分享代码以显示您当前如何保存文件,尽管没有效果? 我已经在问题本身中分享了这一点。我已经编辑了我的问题以分享。 看看我的回答,这就是你应该如何保存编辑过的音频。 【参考方案1】:AEAudioFileWriter
类允许您轻松写入系统支持的任何音频文件格式。
要使用它,请使用 initWithAudioDescription:
实例化它,并传入您希望使用的音频格式。然后,通过调用 beginWritingToFileAtPath:fileType:error:
开始操作,传入您要录制到的文件的路径以及要使用的文件类型。常见的文件类型包括kAudioFileAIFFType
、kAudioFileWAVEType
、kAudioFileM4AType
(使用AAC音频编码)和kAudioFileCAFType
。
写入操作开始后,您可以使用 C 函数 AEAudioFileWriterAddAudio
和 AEAudioFileWriterAddAudioSynchronously
将音频写入文件。请注意,在从 Core Audio 线程写入音频时,您应该只使用AEAudioFileWriterAddAudio
,因为这是异步完成的,不会占用线程。
完成后,调用finishWriting
关闭文件。
More information...
【讨论】:
嗨,约翰!非常感谢您的快速回答。如果您有 AEAudioFileWriter,请分享代码。我已经完成了,但我无法获得任何示例代码。 @Woodstock 你能分享一下AEAudioFileWriter的示例代码吗?我不知道如何使用 AEAudioFileWriterAddAudio 和 AEAudioFileWriterAddAudioSynchronously 方法 @Woodstock 你现在找到一些示例代码了吗?以上是关于如何使用混响效果保存录制的音频的主要内容,如果未能解决你的问题,请参考以下文章
录制音频,然后使用 AudioRecord、AudioTrack.trouble 播放
xcode:如何在使用 AVFoundation 录制音频后保存音频文件
在使用 AVAudioRecorder 在为导航栏设置动画的同时录制音频时发生中断时,我们如何停止并保存录制?