我有一个AVPlayer用来播放视频。
我添加了一些控件如播放、停止、前进等等...
但是我该如何使用一个按钮切换到全屏模式呢?我不想使用MPMoviePlayerController因为我不知道如何同步开始时间。但是我该如何简单地“扩展”当前playerView以使用全屏模式?
谢谢。
我有一个AVPlayer用来播放视频。
我添加了一些控件如播放、停止、前进等等...
但是我该如何使用一个按钮切换到全屏模式呢?我不想使用MPMoviePlayerController因为我不知道如何同步开始时间。但是我该如何简单地“扩展”当前playerView以使用全屏模式?
谢谢。
如果AvPlayer和视图或窗口的框架相同
如果AvPlayer的视图或窗口框架更小
创建一个协议,使父级可以在用户按下横向按钮时将播放器的框架更改为窗口框架
通过pi/2旋转视图。
创建一个方法,并使用以下代码。
-(void)enlarge
{
if(!_isLandscapeMode)
{
[self.landscapeDelegate changeFrameForLandscapeMode:YES];
[_landscapeMode setImage:[UIImage imageNamed:IMAGE_NAME_PORTRAIT_MODE] forState:UIControlStateNormal];
_isLandscapeMode=YES;
self.transform = CGAffineTransformMakeRotation(M_PI_2);
}
else
{
[self.landscapeDelegate changeFrameForLandscapeMode:NO];
_isLandscapeMode=NO;
[_landscapeMode setImage:[UIImage imageNamed:IMAGE_NAME_LANDSCAPE_MODE] forState:UIControlStateNormal];
self.transform = CGAffineTransformMakeRotation(0);
}
}
var player = AVPlayer(playerItem: AVPlayerItem(asset: asset))
var layer = AVPlayerLayer(player: player)
self.view.layer.addSublayer(layer)
layer.frame = CGRectMake(0,0,self.view.frame.size.width,self.view.frame.size.height)
我也遇到了同样的问题。我在我的代码中添加了以下几行:
[playerLayer setVideoGravity:AVLayerVideoGravityResizeAspectFill];