我想以编程方式将一个AVPlayerViewController
视图从iPad添加到外部窗口。问题在于,添加它时,播放器视图显示"此视频正在电视上播放"
示例代码:
let player = AVPlayer(url: someUrl)
//these two properties seem to have no effect
//player.usesExternalPlaybackWhileExternalScreenIsActive = true/false
//player.allowsExternalPlayback = true/false
let viewController = AVPlayerViewController()
viewController.player = player
viewController.view.frame = frame
externalWindow.addSubview(viewController.view)
player.play()
有没有办法将自己的视频视图添加到外部窗口,以便我可以决定大小?
答案 0 :(得分:1)
如果要控制AVPlayerViewController的大小,可以使用该层,也可以将其添加为childViewController
使用图层
let videoURL = URL(url to your file)
let player = AVPlayer(url: videoURL!)
let playerLayer = AVPlayerLayer(player: player)
playerLayer.frame = self.view.bounds
self.view.layer.addSublayer(playerLayer)
player.play()
在上面的代码中,框架可以根据要求进行调整。
使用ChildViewController:
let videoURL = URL(fileURLWithPath: videoPath)
let player = AVPlayer(url: videoURL)
let playerViewController = AVPlayerViewController()
playerViewController.view.frame = CGRect(give the appropriate size)
playerViewController.player = player
self.addChildViewController(playerViewController)
self.view.addSubview(playerViewController.view)
playerViewController.didMove(toParentViewController: self)
如果这有帮助,请告诉我!或其他任何需要。