首页 > 解决方案 > AVPlayerViewController 不支持 iPhone 上的画中画

问题描述

我已按照 Apple 的步骤AVPlayerViewController支持应用内和背景画中画播放。

func playerViewController(_ playerViewController: AVPlayerViewController, restoreUserInterfaceForPictureInPictureStopWithCompletionHandler completionHandler: @escaping (Bool) -> Void) {
    present(playerViewController, animated: true) {
        completionHandler(false)
    }
}

该按钮在 iPad 上显示,但在 iPhone 上不显示,并且在转到主屏幕时视频播放不会继续。

标签: iosavplayerviewcontrolleravkit

解决方案


除了实现 requiredAVPlayerViewControllerDelegate之外,您还需要确保设置正确的音频会话类别,如下所示:

let audioSession = AVAudioSession.sharedInstance()
do {
    try audioSession.setCategory(.playback)
} catch {
    print("Setting category to AVAudioSessionCategoryPlayback failed.")
}

推荐阅读