我有一个与 AVAsset 一起使用的 AVPlayer 来播放视频。
我添加了一些控件,例如播放、停止、前进等...
但是如何使用按钮切换到全屏?我不想使用 MPMoviePlayerController 因为我不知道如何同步开始时间。但是我怎样才能简单地“扩展”当前的 playerView 以使用 fullScreen?
谢谢。
我有一个与 AVAsset 一起使用的 AVPlayer 来播放视频。
我添加了一些控件,例如播放、停止、前进等...
但是如何使用按钮切换到全屏?我不想使用 MPMoviePlayerController 因为我不知道如何同步开始时间。但是我怎样才能简单地“扩展”当前的 playerView 以使用 fullScreen?
谢谢。
如果 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);
}
}
假设你有UIViewController
一个 UIView 全屏
您需要使用 AVPlayerLayer
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];
它现在将显示全屏。