这是一个iPhone相关的问题: 我使用openAL播放一些声音(我必须管理增益,音高等)。 我想录制我正在播放的内容,并使用AVAudioRecorder,但当我“prepareToRecord”时,openAL停止播放音频。 什么问题? 这里是记录IBAction为我用:iPhone - openAL停止播放,如果我用AVAudioRecorder录制
- (IBAction) record: (id) sender
{
NSError *error;
NSMutableDictionary *settings = [NSMutableDictionary dictionary];
[settings setValue: [NSNumber numberWithInt:kAudioFormatLinearPCM] forKey:AVFormatIDKey];
[settings setValue: [NSNumber numberWithFloat:8000.0] forKey:AVSampleRateKey];
[settings setValue: [NSNumber numberWithInt: 1] forKey:AVNumberOfChannelsKey];
[settings setValue: [NSNumber numberWithInt:16] forKey:AVLinearPCMBitDepthKey];
[settings setValue: [NSNumber numberWithBool:NO] forKey:AVLinearPCMIsBigEndianKey];
[settings setValue: [NSNumber numberWithBool:NO] forKey:AVLinearPCMIsFloatKey];
NSURL *url = [NSURL fileURLWithPath:FILEPATH];
self.recorder = [[AVAudioRecorder alloc] initWithURL:url settings:settings error:&error];
self.recorder.delegate = self;
self.recorder.meteringEnabled = YES;
[self.recorder prepareToRecord];
[self.recorder record];
}
感谢
编辑:
我AudioQueue录制过尝试。 这时候听起来这个代码后停止:
status = AudioQueueEnqueueBuffer(recordState.queue, recordState.buffers[i], 0, NULL);
所以它可以记录当iPhone与OpenAL的打???
再次感谢
谢谢您的回答。 否FILEPATH指向Documents文件夹,播放的文件位于Bundle中。我试图评论prepareToRecord,但它仍然停止。 我发现当我运行记录时,alGetSourcei(source,AL_SOURCE_STATE,&state);总是返回状态AL_PLAYING。 因此,对于openAL文件仍在播放。 – 2010-04-09 10:39:40