UIView 中的 AVPlayer 视图缺少控件
Posted
技术标签:
【中文标题】UIView 中的 AVPlayer 视图缺少控件【英文标题】:AVPlayer view in UIView is missing controls 【发布时间】:2018-10-25 11:48:50 【问题描述】:如果将 AVPlayer 添加到 UIView,在 AVPlayer 中默认的视频前进滑块和播放按钮不会显示
NSURL *videourl= [NSURL URLWithString:strUrl];
AVPlayer *player = [AVPlayer playerWithURL:videourl];
AVPlayerViewController *playerViewController = [AVPlayerViewController new];
playerViewController.player = player;
playerViewController.view.frame = ViewAV.bounds;
AVPlayerLayer* playerLayer = [AVPlayerLayer playerLayerWithPlayer:player];
playerLayer.frame = ViewAV.bounds;
playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;
//externalPlaybackVideoGravity
playerLayer.contentsGravity = AVLayerVideoGravityResizeAspect;
[ViewAV.layer addSublayer:playerLayer];
[ViewAV addSubview:playerViewController.view];
[playerViewController.player play];
【问题讨论】:
【参考方案1】:尝试将showsPlaybackControls
和requiresLinearPlayback
设置为true,
playerViewController.showsPlaybackControls = YES;
playerViewController.requiresLinearPlayback = YES;
目前,您没有将playerViewController
添加为子viewController
,因此您将看不到任何内容。添加如下,
[self addChildViewController:playerViewController];
[self.view.layer addSublayer:playerLayer];
[self.view addSubview:playerViewController.view];
【讨论】:
@ishanbhatt 您可以尝试添加为 childViewController,因为我在答案中更新了吗?以上是关于UIView 中的 AVPlayer 视图缺少控件的主要内容,如果未能解决你的问题,请参考以下文章
在 AVPlayerViewController 全屏视图上呈现 UIView