前文中我已經介紹過了react-native-video這個庫而且用它實現了一個全屏播放的demo,基本上把實現全屏的原理講解清楚了。本篇文章是在前做的基礎上從新撰寫一個簡單的視頻播放器App,分享並總結一下我的的經驗。react
播放器的UI參考了騰訊視頻、愛奇藝等主流播放器,主要參照騰訊視頻來實現。效果以下:git
本播放器支持如下功能:github
主要用到三個庫,前兩個是實現播放器功能必須的,導航庫可任選。react-native
目前使用的就是這個庫。最初是看到不少人都在問該怎麼實現全屏播放,由於presentFullscreenPlayer並不支持Android,在研究了一下這個庫以後想了想解決方案,就是我上篇文章說到的實現過程。這個視頻播放器雖然還有不少問題,但仍是能夠用的,目前尚未發現哪一個封裝的react native播放器能比這個好多少。若是想要更好的性能、效果,最好仍是基於原生本身實現、本身封裝。ide
可以強制屏幕旋轉,監聽屏幕旋轉,使用簡單方便。佈局
這個沒必要多說,JS實現的react native導航庫,很是方便好用。react native導航庫很是多,解決方案也都不錯,看我的喜愛選擇。性能
Orientation
強制屏幕旋轉。BackHandler
監聽安卓物理返回鍵的點擊,橫屏下點返回鍵回到豎屏,再次點擊返回鍵返回到上個界面。DeviceInfo
的isIPhoneX_deprecated
屬性可用來判斷是不是iPhone X,在非iPhone X的設備上,這個值爲undefined。從這個屬性名能夠看出這個屬性之後可能不會再用,推薦使用第三方的react-native-device-info 來獲取設備信息再進行判斷。代碼地址:github.com/mrarronz/re…/Chapter8-MyVideoApp/MyVideoApp。喜歡的點個贊Star一下唄,謝謝關注。flex