在我的应用程序中,我希望用户能够录制一个声音文件并进行播放,然后保存声音文件以供日后使用。我使用this tutorial来设置播放和录制界面,但本教程省略了一个关键部分:如何将声音永久保存到磁盘?
此外,当您在这里时,如何设置录音文件的最长时间?我不希望声音文件的长度超过30秒。
谢谢,希望我能把这一切都整理好。
答案 0 :(得分:1)
Voice Record Demo是一个很好的例子来看一看。它使用Cocos2D作为UI,但如果您只是看一下HelloWorldScene.m类,它包含您需要的所有代码:
在初始化音频会话后,您可以使用类似下面的方法将录音保存到给定的文件名:
-(void) saveAudioFileNamed:(NSString *)filename {
destinationString = [[self documentsPath] stringByAppendingPathComponent:filename];
NSLog(@"%@", destinationString);
NSURL *destinationURL = [NSURL fileURLWithPath: destinationString];
NSDictionary *settings = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithFloat: 44100.0], AVSampleRateKey,
[NSNumber numberWithInt: kAudioFormatAppleLossless], AVFormatIDKey,
[NSNumber numberWithInt: 1], AVNumberOfChannelsKey,
[NSNumber numberWithInt: AVAudioQualityMax], AVEncoderAudioQualityKey,
nil];
NSError *error;
recorder = [[AVAudioRecorder alloc] initWithURL:destinationURL settings:settings error:&error];
recorder.delegate = self;
}