我想用iphone录制音频(< 2分钟)并将其保存到文件中。 我看着SpeakHere,但它让我很困惑。我使用哪些课程?我创建了哪些委托方法?
谢谢!
答案 0 :(得分:5)
我同意,SpeakHere不是学习iPhone音频的好起点。
iPhone音频使用两个概念。 AudioQueues和AudioSessions。如果要录制到文件,则需要创建一个AudioSession,激活会话,并创建AudioInputQueue和AudioOutputQueue。
AudioQueues的参考文献(到目前为止您将讨论最多的部分)是:
至于AudioSessions:
虽然你可以忽略大部分AudioSession的东西,因为你不会做那么复杂的事情。所以基本上,这是步骤:
我这里没有包含所有参数,但这就是API的用途。
希望有所帮助。
[编辑]
抱歉,忘记包含输出内容,尽管它们非常简单。创建另一个AudioQueue,使用AudioQueueNewOutput进行初始化,API应该能够引导您完成剩下的工作。
干杯。
答案 1 :(得分:2)
不再需要AudioQueues来录制音频。现在使用AVAudioRecorder类是一个非常简单的过程。
答案 2 :(得分:2)
录制音频
的此代码别忘了添加AVFoundation和AudioToolBox Framework
NSMutableDictionary* recordSetting = [[NSMutableDictionary alloc] init];
[recordSetting setValue :[NSNumber numberWithInt:kAudioFormatAppleIMA4] forKey:AVFormatIDKey];
[recordSetting setValue:[NSNumber numberWithFloat:44100.0] forKey:AVSampleRateKey];
[recordSetting setValue:[NSNumber numberWithInt: 2] forKey:AVNumberOfChannelsKey];
recordedTmpFile = [NSURL fileURLWithPath:[NSTemporaryDirectory() stringByAppendingPathComponent:@"filename.caf"]];
NSLog(@"Using File called: %@",recordedTmpFile);
recorder = [[ AVAudioRecorder alloc] initWithURL:recordedTmpFile settings:recordSetting error:nil];
[recorder setDelegate:self];
[recorder prepareToRecord];
[recorder record];