中断后音频流的后台播放,iOS Swift

中断后音频流的后台播放,iOS Swift,ios,swift,avaudioplayer,Ios,Swift,Avaudioplayer,我有一个应用程序,它使用AVPlayer()从网络播放音乐流。我已经设置好了在后台播放的所有内容,但是当一个呼叫(或任何其他中断)进来时,在中断结束后,播放将不会恢复。具体来说,如果中断很快消失,播放将恢复,但如果我有一个长的电话,例如播放将不会恢复。 只有当我的应用程序也在后台时才会发生这种情况。如果我的应用程序在前台出现中断,一切正常 我已将中断通知设置为: func playInterrupt(notification: NSNotification) { var info = n

我有一个应用程序,它使用
AVPlayer()
从网络播放音乐流。我已经设置好了在后台播放的所有内容,但是当一个呼叫(或任何其他中断)进来时,在中断结束后,播放将不会恢复。具体来说,如果中断很快消失,播放将恢复,但如果我有一个长的电话,例如播放将不会恢复。 只有当我的应用程序也在后台时才会发生这种情况。如果我的应用程序在前台出现中断,一切正常

我已将中断通知设置为:

func playInterrupt(notification: NSNotification) {
    var info = notification.userInfo!
    var intValue: UInt = 0
    (info[AVAudioSessionInterruptionTypeKey] as! NSValue).getValue(&intValue)
    if let type = AVAudioSessionInterruptionType(rawValue: intValue) {
      switch type {
        case .began:
          print("began")
          pause()
        case .ended:
          print("ended")
          play()
      }
    }
使用

AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, with: AVAudioSessionCategoryOptions.mixWithOthers )
修复了这个问题,但是如果我从另一个音频源开始播放,它们都会相互覆盖。理想情况下,我需要我的应用程序在这种情况下停止播放

对如何实现这一目标有何建议


提前感谢

您找到解决方案了吗?您找到解决方案了吗?