mediaplayer是安卓自带的播放器类,使用非常简单,步骤如下
1.创建一个surfaceview
2.用surfaceview的对象调用getHolder获取到一个容器holder,同时添加其回调Callback(),重写其两个回调方法,我们常用的是oncreate(),和ondestroy()这两个方法
3.创建一个mediaplayer对象
4.mediaplayer对象设置播放资源path,可以是本地文件,可以是网络流
5.mediaplayer调用prepare()方法准备资源
6.mediaplayer在surfaceview的oncreat()方法中setdisplay()设置自己存放的容器为holder,
7.mediaplayer调用start()方法,即可播放
8.播放过程如果想要按返回键退出播放,需要在surfaceview的destroy()方法中使mediaplayer调用stop()方法停止播放,同时还需要调用release()方法释放资源
Tips:
1.使播放界面全屏显示,复制以下代码放到style.xml文件内name为AppTheme节点下
<item name = "android.windowFullscreen">true</item>
<item name = "android.windowNoTittle">true</item>
2.有时会有这样的情况,我们在播放过程中,不小心按了返回键,surfaceview 销毁了,视频退出播放,还有可能是设备自带的休眠功能,如果在播放过程
中突然按了休眠键,设备会停止播放并进入休眠状态,而我们想唤醒后能继续播放,这时该怎么办呢
方法如下
需要在surfaceview的destroy方法中使用sharepreference将播放进度保存到sp里,当设备唤醒,会重走surfaceview的oncreat方法,我们让mediaplayer
在其中获取到保存在sp中的进度数据,调用seekTo()方法,直接进到播放进度,视频就可以重新恢复播放了。