美文网首页
拔耳机暂停歌曲播放的操作思路

拔耳机暂停歌曲播放的操作思路

作者: owenqi | 来源:发表于2017-02-10 13:26 被阅读0次
    • 在初始化 player 的时候, 添加通知监听的方法, 监听 AVAudioSessionRouteChangeNotification 变化, 获取当前输出设备的变化
    • 当获得通知的时候, 调用 routeChanged: 方法, 在此方法中通过 [notification.userInfo valueForKey:AVAudioSessionRouteChangePreviousRouteKey] 获取通知中的上一个设备
      对取得的上一个设备, 获取其中的 [outputs firstObject].portType, 与 AVAudioSessionPortHeadphones 相同则代表上一个设备是耳机设备, 即表示此时耳机已经移除
    • 耳机已经移除, 所以进行歌曲暂停操作
    • 在界面结束后移除通知
    5个步骤
    1. 为AVAudioSessionRouteChangeNotification addObserver
    2. 接到通知后从notification.userInfo中获取AVAudioSessionRouteChangeReasonKey对应的value
    3. 调用value的-unsignedIntegerValue方法获取AVAudioSessionRouteChangeReason对应的routeChangeReason
    4. 判断routeChangeReason是否为AVAudioSessionRouteChangeReasonOldDeviceUnavailable,如果是继续,如果不是return
    5. 读取[AVAudioSession sharedInstance].currentRoute.outputs的第一个元素,判断其portType是否为
        AVAudioSessionPortHeadphones,如果是调用打断,如果不是return

    相关文章

      网友评论

          本文标题:拔耳机暂停歌曲播放的操作思路

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