Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 在只有人像的应用程序中,通过滑动手势全屏关闭AVPlayerController会导致黑屏吗?_Swift_Avplayer_Avplayerviewcontroller_Avkit - Fatal编程技术网

Swift 在只有人像的应用程序中,通过滑动手势全屏关闭AVPlayerController会导致黑屏吗?

Swift 在只有人像的应用程序中,通过滑动手势全屏关闭AVPlayerController会导致黑屏吗?,swift,avplayer,avplayerviewcontroller,avkit,Swift,Avplayer,Avplayerviewcontroller,Avkit,我有一个应用程序被锁定为纵向模式(只有在Xcode的构建设置中选中了“纵向”框)。在ViewController中,我在加载远程url的containerView中有一个AVPlayerViewController 据我所知,自WWDC19/iOS 13以来,AVPlayerController自动处理横向视图,即使在仅可移植的应用程序中也是如此。在我的应用程序中就是这种情况-AVPlayerController会随着设备的旋转正确切换到横向。此外,如果我使用close/“X”按钮从任何方向的全

我有一个应用程序被锁定为纵向模式(只有在Xcode的构建设置中选中了“纵向”框)。在ViewController中,我在加载远程url的containerView中有一个AVPlayerViewController

据我所知,自WWDC19/iOS 13以来,AVPlayerController自动处理横向视图,即使在仅可移植的应用程序中也是如此。在我的应用程序中就是这种情况-AVPlayerController会随着设备的旋转正确切换到横向。此外,如果我使用close/“X”按钮从任何方向的全屏关闭播放器,它将正确地返回到纵向关闭

问题在于滑动手势&滑动以关闭。如果我在纵向全屏中滑动以解除,它将正确地解除回到纵向ViewController。但是,如果我在横向全屏中滑动以关闭,我会得到一个黑屏。音频继续播放,但应用程序完全没有响应,只有一个黑屏

如果我在任何方向做向上滑动手势,我也会得到一个黑屏。看起来视频帧试图回到原来的位置,但后来变黑了

我尝试过使用ViewController的viewWillAppear,也尝试过AvPlayerServiceController的委派方法,但没有成功

以下是我在ViewController类中使用的代码:

import UIKit
import AVKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        configureVideoPlayer()
    }


    private func configureVideoPlayer() {
        let playerViewController = AVPlayerViewController()
        let url: URL! = URL(string: "https://www.radiantmediaplayer.com/media/bbb-360p.mp4")
        let player = AVPlayer(url: url)

        playerViewController.player = player
        playerViewController.frame = containerView.bounds
        containerView.addSubview(playerViewController.view)
        addChild(playerViewController)
    }