美文网首页
iOS音频播放处理来电话中断

iOS音频播放处理来电话中断

作者: qqqqnnnndddd | 来源:发表于2017-10-23 13:38 被阅读0次

    在音频播放的基类里,init方法中或者viewdidload里添加

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(audioSessionInterruptionNotification:) name:AVAudioSessionInterruptionNotification object:nil];

    ----------------------------------------------------------------------

    方法实现:

    - (void)audioSessionInterruptionNotification:(NSNotification *)notification{

    /*

    系统方法监听到的中断事件通知,AVAudioSessionInterruptionOptionKey

    typedef NS_ENUM(NSUInteger, AVAudioSessionInterruptionType)

    {

    AVAudioSessionInterruptionTypeBegan = 1, 中断开始

    AVAudioSessionInterruptionTypeEnded = 0,  中断结束

    }

    */

    int type = [notification.userInfo[AVAudioSessionInterruptionOptionKey] intValue];

    switch (type) {

    case AVAudioSessionInterruptionTypeBegan: // 被打断

    [self.player pause]; // 暂停播放

    break;

    case AVAudioSessionInterruptionTypeEnded: // 中断结束

    [self.player play];  // 继续播放

    break;

    default:

    break;

    }

    若按照系统的方法判断中断或者中断结束,会有时不响应,可以用此方法来判断

        if ([self.player isPlaying])

      {

           [self.player pause];

        }

        else

        {

           [self.player play];

        }

    在dealloc中移除 NSNotificationCenter

    相关文章

      网友评论

          本文标题:iOS音频播放处理来电话中断

          本文链接:https://www.haomeiwen.com/subject/enidpttx.html