如何在iOS中将手机应用程序发送到后台

时间:2019-02-28 09:45:00

标签: ios avplayer nsurlsession avplayerviewcontroller

在我的应用程序中,我有一个要求。我正在运行我的应用程序,并使用AVPlayerViewcontroller播放了一个视频。在中间,我接到了电话,我接了电话,我的视频将暂停。5秒钟后,我将从服务器获取新的URL,以便在AVPlayerViewcontroller中播放。那时新的url在后台播放,可以听见声音以及电话。在这种情况下,我想将手机应用程序发送到后台,并希望查看正在avplayer中播放的视频。

请让我知道有什么方法可以实现这一目标。

1 个答案:

答案 0 :(得分:0)

SWIFT:

  
      
  1. 观察中断通知
  2.   
func setupNotifications() {
    let notificationCenter = NotificationCenter.default
    notificationCenter.addObserver(self,
                                   selector: #selector(handleInterruption),
                                   name: .AVAudioSessionInterruption,
                                   object: nil)
}
  
      
  1. 响应中断通知
  2.   
@objc func handleInterruption(notification: Notification) {
    guard let userInfo = notification.userInfo,
        let typeValue = userInfo[AVAudioSessionInterruptionTypeKey] as? UInt,
        let type = AVAudioSessionInterruptionType(rawValue: typeValue) else {
            return
    }
    if type == .began {
        // Interruption began, take appropriate actions
    }
    else if type == .ended {
        if let optionsValue = userInfo[AVAudioSessionInterruptionOptionKey] as? UInt {
            let options = AVAudioSessionInterruptionOptions(rawValue: optionsValue)
            if options.contains(.shouldResume) {
                // Interruption Ended - playback should resume
            } else {
                // Interruption Ended - playback should NOT resume
            }
        }
    }
}

Apple documentation