1. 程式人生 > >AudioUnit錄音和播放同時進行的一些註意點

AudioUnit錄音和播放同時進行的一些註意點

unit 問題 同時 recording 功能 回調 ack color sound

錄音(播放)和暫停

-(void)start
{
    self.soundTotalLength = 0.0f;
    if (!self.unitHaveStart)
    {
        NSError *error = nil;
        [self.audioSession setCategory:AVAudioSessionCategoryPlayAndRecord  error:&error];
        [self.audioSession setActive:YES error:&error];
        OSStatus status 
= AudioOutputUnitStart(_audioUnit); if (status == noErr) { self.unitHaveStart = YES; } } self.isStatusInRecordingSound = YES; } -(void)pause {
//以下的問題在設置了後臺播放功能時體現
//不調用該函數將導致回調函數一直在執行,錄音無法暫停 AudioOutputUnitStop(_audioUnit); self.unitHaveStart
= NO; self.isStatusInRecordingSound = NO; //不設置該模式,退到後臺後將無法正常播放視頻,導致視頻一直立刻暫停(優酷),一直暫停播放(相冊自己保存的視頻),正常播放(相冊手機錄制的視頻) NSError *error = nil; [self.audioSession setCategory:AVAudioSessionCategoryPlayback error:&error]; [self.audioSession setActive:NO error:&error]; }

AudioUnit錄音和播放同時進行的一些註意點