我是swift的新手,并且在让AVPlayerViewController.player进入全屏时遇到问题 ViewController:AVPlayerViewController
这是我在viewDidAppear中用来播放视频的代码
let path = NSBundle.mainBundle().pathForResource("video", ofType: "mp4")!
let url = NSURL(fileURLWithPath: path)
let player = AVPlayer(URL: url)
self.player = player
self.showsPlaybackControls = false
self.player!.play()
我正在隐藏playBackControlls,并要求将视频视图设为全屏...
答案 0 :(得分:3)
为了将AVPlayer添加到视图中,我从中创建了一个CALayer:
let playerLayer = AVPlayerLayer(player: player)
然后你需要将这个图层添加到视图中,例如,如果你在ViewController中编写了那个代码,那么你可以这样做:
self.view.layer.addSublayer(playerLayer)
接下来,确保此图层与父ViewController一样大:
playerLayer.frame = self.view.layer.bounds
现在,您可以选择任意these选项来调整视频大小。在这里,我使用.resize
假设视频的宽高比和屏幕是相同的
playerLayer.videoGravity = AVLayerVideoGravity.resize
答案 1 :(得分:1)
我建议在不增加额外层的情况下采用以下解决方案:
在viewDidLoad()
中的 ViewController:AVPlayerViewController 中刚刚设置
videoGravity = .resizeAspectFill
根据文档:
视频重力确定视频内容的缩放比例或 在播放器视图控制器的视图范围内延伸。的 播放器视图控制器支持以下视频重力值:
- resizeAspect
- resizeAspectFill
- 调整大小
默认值为 resizeAspect 。