Fullscreen avplayer全屏
我有一个AVPlayer用于播放视频 我添加了一些控件,如播放、停止、前进等 但我如何用按钮切换到全屏?我不想使用MPMoviePlayerController,因为我不知道如何同步开始时间。但我如何简单地“扩展”当前playerView以使用全屏Fullscreen avplayer全屏,fullscreen,avplayer,avasset,Fullscreen,Avplayer,Avasset,我有一个AVPlayer用于播放视频 我添加了一些控件,如播放、停止、前进等 但我如何用按钮切换到全屏?我不想使用MPMoviePlayerController,因为我不知道如何同步开始时间。但我如何简单地“扩展”当前playerView以使用全屏 谢谢。假设您有一个具有UIView全屏的UIViewController 您需要使用AVPlayerLayer var player = AVPlayer(playerItem: AVPlayerItem(asset: asset)) var lay
谢谢。假设您有一个具有UIView全屏的
UIViewController
您需要使用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)
- 要使AVPlayer成为全屏,您必须为AVPlayer层提供总的窗口帧,而不是通过pi/2旋转视图李>
- 在protocal上创建到父级,以便在用户按下横向按钮时将播放器的框架更改为窗口框架
- 以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);
}
}
我也有同样的问题。我在代码中添加了以下行
[playerLayer setVideoGravity:AVLayerVideoGravityResizeAspectFill];
现在它将全屏显示。您能解决这个问题吗?如果当前视图尚未全屏显示,则以下答案无效