整理一套视频播放器:
测试的视频url:
private String filePath = "http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4";
测试的视频mp4文件:
assets/motian.mp4
1、比较好的视频播放器框架
jiecaovideoplayer 参考:https://blog.csdn.net/androidstarjack/article/details/69526279
库源代码: https://github.com/androidstarjack/MyGreatPalyerVideo
Vitamio 参考:https://blog.csdn.net/wozuihaole/article/details/60867076
库源代码: https://github.com/yixia/VitamioBundle
2、原生视频播放:
参考:https://blog.csdn.net/tianhe718/article/details/53034776
在Android中,我们有三种方式来实现视频的播放:
1、使用其自带的播放器。指定Action为ACTION_VIEW,Data为Uri,Type为其MIME类型。
( 功能比较齐全,左右滑动快进快退等功能 )
2、使用VideoView来播放。在布局文件中使用VideoView结合MediaController来实现对其控制。
( 左右滑动的操作需要自己设计)
3、使用MediaPlayer类和SurfaceView来实现,这种方式很灵活。
( 不过有些操作起来,比较恶心(虽然恶心,但还是建议用这玩意,功能全,而且自己可以随意修改) )
1>、切换横竖屏,动态设置SurfaceView全屏的问题,死活不成功?
因为切换横竖屏执行的生命周期不同,android:configChanges="orientation|keyboardHidden|screenSize"
设置manifest,activity这句话,不会去执行生命周期,OK问题解决
2>、android生命周期:
onCreate、onStart、onResume、onPause、onStop、onDestory、onRestart,一共七个生命周期的方法
3>、切换屏幕的生命周期:
1、不设置Activity的Android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次
2、设置Activity的android:configChanges=”orientation”时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次
3、设置Activity的android:configChanges=”orientation|keyboardHidden|screenSize”时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法