可以访问麦克风时通知iOS

时间:2016-02-29 10:32:40

标签: ios objective-c background avaudiosession

我想在开始录制之前麦克风中断结束时通知我的应用。

例如,我的应用程序试图从后台开始录制,在此期间,如果任何其他应用程序(如Skype)正在访问麦克风,我不应该这样做。所以我想开始注册/观察中断,这样当Skype调用结束时,应该通知我的应用程序。

我只能在app正在录制和中断开始时才能实现。当即将开始录制时,如果中断未结束,我将收到通知。 请帮忙 。

我尝试使用

注册
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleAudioSessionInterruption:) name:AVAudioSessionInterruptionNotification object:[AVAudioSession sharedInstance]];

// observe the interruption begin / end
- (void)handleAudioSessionInterruption:(NSNotification*)notification
{

    AVAudioSessionInterruptionType interruptionType = [notification.userInfo[AVAudioSessionInterruptionTypeKey] unsignedIntegerValue];
    AVAudioSessionInterruptionOptions interruptionOption = [notification.userInfo[AVAudioSessionInterruptionOptionKey] unsignedIntegerValue];

    NSLog(@"interruptionType:%lu",(unsigned long)interruptionType);

    switch (interruptionType) {
        case AVAudioSessionInterruptionTypeBegan:{
            NSLog(@"interruption began");
            break;
        }
        case AVAudioSessionInterruptionTypeEnded:{
            NSLog(@"interruption ended");
             break;
        }

        default:
            break;
    }
}

0 个答案:

没有答案