AudioUnit录音和播放同时进行的一些注意点
Posted yuxiaoyiyou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AudioUnit录音和播放同时进行的一些注意点相关的知识,希望对你有一定的参考价值。
录音(播放)和暂停
-(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录音和播放同时进行的一些注意点的主要内容,如果未能解决你的问题,请参考以下文章
AudioUnit - 在 Swift 中控制左声道和右声道输出