天天看點

使用AVPlayer自定義支援全屏的播放器(五)—Swift重構版本

很早之前開源了一個簡單的視訊播放器,由于年久失修,效果慘目忍睹,最近特意花時間對其進行了深度重構。舊版本後期不再維護,新版本使用<code>Swift</code>實作,後續會增加更多功能。不想看文字的請自行下載下傳代碼------&gt;&gt;&gt;CLPlayer

1.新版本使用<code>Swift</code>,舊版本使用<code>Objective-C</code>

2.新版本采用自定義轉場實作全屏,舊版本使用旋轉螢幕

3.新版本不需要手動銷毀播放器

4.新版本修複了老版本遺留bug

5.新版本降低了代碼耦合性

6.新版本增加了倍數播放,切換填充模式

7.新版本提供更豐富的API

8.新版本适配了iPhone X

9.新版本移除了狀态欄相關配置

使用AVPlayer自定義支援全屏的播放器(五)—Swift重構版本
使用AVPlayer自定義支援全屏的播放器(五)—Swift重構版本
使用AVPlayer自定義支援全屏的播放器(五)—Swift重構版本
使用AVPlayer自定義支援全屏的播放器(五)—Swift重構版本

[x] 支援全屏模式、小屏模式

[x] 支援跟随手機自動旋轉

[x] 支援本地視訊、網絡<code>URL</code>

[x] 支援<code>UITableView</code>

[x] 支援<code>UICollectionView</code>

[x] 支援手勢改變螢幕的亮度(螢幕左半邊)

[x] 支援手勢改變音量大小(螢幕右半邊)

[x] 支援拖動<code>UISlider</code>快進快退

[x] 支援<code>iPhone X</code>留海屏

[x] 支援倍速播放(<code>0.5X、1.0X、1.25X、1.5X、1.75X、2X</code>)

[x] 支援動态改變播放器的填充模式(<code>适應、拉伸、填充</code>)

[x] 支援<code>cocoapods</code>

項目必須支援全屏,建議将螢幕支援方向交由目前顯示的控制器自行管理。

使用AVPlayer自定義支援全屏的播放器(五)—Swift重構版本

<code>UITabBarController</code>

<code>UINavigationController</code>

<code>UIViewController</code>

在對應控制器中重寫以下方法

本次重構為<code>Swift</code>第一版,後續會持續更新,定制化開發請自行參考CLPlayer修改 , 如果喜歡,歡迎star。

iOS播放器全屏方案

iOS狀态欄

iOS播放器全屏旋轉實作

iOS橫豎屏旋轉解決方案 - Swift

iOS視訊旋轉探究

iOS螢幕旋轉的解決方案

作者:JmoVxia

出處:http://www.cnblogs.com/JmoVxia/

本文版權歸作者所有,歡迎轉載,但必須給出原文連結,并保留此段聲明,否則保留追究法律責任的權利。