錄音(播放)和暫停
-(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]; }