AVPlayerViewController支持横屏设置
生活随笔
收集整理的這篇文章主要介紹了
AVPlayerViewController支持横屏设置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
針對項目中出現視頻播放需求,簡單的視頻播放功能,可以使用AVPlayerViewController,在iOS9后廢棄了之前的MPMoviePlayer,現在統一使用AVKit下的AVPlayerViewController;
作為第一次使用AVPlayerViewController,總結一些遇到的坑,分享出去;
1.首先是全屏播放問題,由于界面只支持portrait模式,可是看視頻是需要Landscape模式的,這樣視頻進行全屏播放的時候就不能出現橫屏的模式,嘗試了一下幾種解決方式;
- 將需要全屏播放的View,橫屏模式打開,這樣用戶點擊全屏按鈕的時候,如果會調ViewWillDisappear方法,這樣就可以通過在這些視圖appear和disappear方法中,手動的置手機橫屏,達到想要的效果;
- 尋找點擊全屏時會觸發的方法,在觸發的方法的時候,自己通過手動處理也能達到目的;
- 如果實在找不出解決方法,把app的landScape模式打開,用戶再看視頻的時候就能出現了;但是其它頁面會出錯;
在實際的操作中發現,通過代碼在viewController中的操作都是無效的;
找遍了所有AVPlayerViewController的API都沒有找到點擊全屏的觸發方法;
經過幾番模式,發現用以下的方式可以解決問題:
2.在設置AVPlayerViewController的View的frame的時候,發現實際的展示效果和自己本身設的尺寸并不一致,通過下面這行代碼可以解決一些問題,但是碰到與約束相關的頁面還是會出錯,最后通過創建一個單獨的Cell來展示AVPlayerViewController的View就沒問題了
_moviePlayer.view.translatesAutoresizingMaskIntoConstraints = YES;3.播放視頻的時候不會停止,即使將視頻置為nil也不會停止,通過下面這段代碼完美解決;
@property(nonatomic,strong)id playbackObserver; /**<檢測播放的背景*/- (void)removeBoundaryTimeObserver {if (self.playbackObserver) {[self.moviePlayer.player removeTimeObserver:self.playbackObserver];self.playbackObserver = nil;} }后記:在使用的時候,順便研究了一下AVPlayer的使用,下一篇文章將會進行講解;
總結
以上是生活随笔為你收集整理的AVPlayerViewController支持横屏设置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中国天气预报网接口及城市代码
- 下一篇: 年终盘点丨2021边缘计算大事记