将 AVPlayerViewController 视图添加到外部 window
add AVPlayerViewController view to external window
我想以编程方式将 AVPlayerViewController
视图从 iPad 添加到外部 window。问题是添加它时,播放器视图显示 "This video is playing on the TV"
示例代码:
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()
有没有办法自己将视频视图添加到外部 window 以便我决定大小?
如果你想控制 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()
上面代码中的frame可以根据需要调整。
使用 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)
如果有帮助请告诉我!!或其他任何需要。
我想以编程方式将 AVPlayerViewController
视图从 iPad 添加到外部 window。问题是添加它时,播放器视图显示 "This video is playing on the TV"
示例代码:
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()
有没有办法自己将视频视图添加到外部 window 以便我决定大小?
如果你想控制 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()
上面代码中的frame可以根据需要调整。
使用 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)
如果有帮助请告诉我!!或其他任何需要。