首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有自定义播放器控件的AVPLayer +全屏

带有自定义播放器控件的AVPLayer +全屏
EN

Stack Overflow用户
提问于 2015-03-05 00:50:29
回答 2查看 4K关注 0票数 9

设计:

ViewController :有一个播放器视图和一个容器视图。

播放器视图:加载AVPlayer,在播放器视图的底部有一个子视图(PlayerControlView),用于加载播放器控件(播放/暂停/进度条/全屏等)。

PlayerControlView:一个布局了播放器控件的自定义UIView。

我可以在正常模式下加载AVPlayer和播放器控件(例如,不是全屏)。播放正常,所有控件都工作正常。

问题:

我希望AVPlayer在用户点击播放器控件上的全屏图标时全屏显示。我可以通过更改播放器视图的框架并将AVPlayerLayer的Z位置设置为100来使AVPlayer全屏显示。

问题是,只有当我没有对AVPlayer进行任何更新(例如,进度条/点击播放按钮等)时,playerControlView才会保持全屏。一旦滑块上的播放进度更新完成,AVPlayer就会退出全屏并返回到正常模式。

播放器控件不会重新定位到播放器视图的底部。它们保持在以前的位置上。在正常模式下,播放器控件会在方向更改时正确布局。

有没有人能告诉我我采取的方法是不是正确的?如果没有,请建议采用正确的设计来实现AVPlayer的全功能播放器控件。

提前谢谢你,纳温

EN

回答 2

Stack Overflow用户

发布于 2017-02-20 14:56:05

您需要覆盖播放器视图控制器中的viewWillLayoutSubviews方法,并在那里更新播放器视图的帧。

票数 2
EN

Stack Overflow用户

发布于 2021-10-07 07:36:28

我已经解决了这个问题:

全屏定义了AVPlayerViewController的子类,我们称它为CustomPlayer.

  • Using这个自定义播放器,方法是将它的视图添加到cell/view.

  • Created Full screen按钮中,按下该按钮会暂停当前播放器,并将CustomPlayer显示在当前controller.

  • AVPlayer对象的顶部,以保持状态一致。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28860173

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档