2010-04-09 7 views
0

이것은 iPhone 관련 질문입니다. openAL을 사용하여 사운드를 재생합니다 (게인, 피치 등을 관리해야 함). 내가하고있는 것을 녹음하고 AVAudioRecorder를 사용하고 싶지만 "prepareToRecord"를 사용할 때 openAL이 오디오 재생을 중지합니다. 무엇이 문제입니까?iPhone - AVAudioRecorder로 녹음하면 openal이 재생되지 않습니다.

- (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]; 
} 

감사

편집 : 여기 내가 사용하는 기록 IBAction를하다

내가 AudioQueue도 기록으로 시도

. 이 시간이 코드 후 정지 소리 :

status = AudioQueueEnqueueBuffer(recordState.queue, recordState.buffers[i], 0, NULL); 

아이폰 OpenAL에 함께 연주 할 때 그래서 기록 할 가능성을 ???

다시 한번 감사

답변

0

FILEPATH 다른 파일이 재생되는 위치 경로로 동일합니다 ...? 그리고 만약 recordprepareToRecord은 실제로 당신이 일을 할 것입니다 prepareToRecord ... record를 호출 할 필요는 없습니다 ... 같은 장소에서 호출 ... 당신의 대답에 대한

http://developer.apple.com/iphone/library/documentation/AVFoundation/Reference/AVAudioRecorder_ClassReference/Reference/Reference.html#//apple_ref/occ/instm/AVAudioRecorder/prepareToRecord

+0

감사를 참조하십시오. FILEPATH가 Documents 폴더를 가리키고 재생 된 파일이 번들에 있습니다. prepareToRecord에 댓글을 달았지만 여전히 멈 춥니 다. 기록을 실행하면 alGetSourcei (source, AL_SOURCE_STATE, & state); state에 대해 항상 AL_PLAYING을 반환합니다. openAL의 경우 파일이 계속 재생 중입니다. –

관련 문제