前文中我已经介绍过了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