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录音和播放同时进行的一些注意点的主要内容,如果未能解决你的问题,请参考以下文章

Phonegap录音和播放同时进行

AudioUnit - 在 Swift 中控制左声道和右声道输出

AudioUnit“有时”不起作用。 “仅”发生在 6s 上(可能是 6s plus,但我没有测试过)

在 iOS 中使用 Core Audio 同时播放和录音

如何同时使用 NAudio 生成信号和录音?

如何使用 AudioUnit (iOS) 播放信号?