2017-10-09 89 views
0

我想以編程方式將AVPlayerViewController視圖添加到iPad的外部窗口。問題是,當添加它,玩家看法說:「這視頻播放在電視上」將AVPlayerViewController視圖添加到外部窗口

示例代碼:

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() 

有沒有辦法添加視頻查看自己的對外窗口,以便我可以決定大小?

回答

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) 

讓我知道,如果這有助於!或其他任何東西都需要。

相關問題