MediaPlayer简介
2016-01-08 14:17
453 查看
一、MediaPlay的几种状态:
正常情况经历的状态:
1、闲置状态:当调用Reset()或调用new创建对象时,就处于该状态。
2、结束状态:当调用release()时就处于结束状态。当我们不再需要使用MediaPlayer时就应该调用该方法,释放掉软硬件资源。
3、初始化状态:该状态是当我们调用了setDataResource,表示我们已经设置好了需要播放的资源文件。
4、准备状态:完成初始化之后,还需要调用prepare()或prepareAsync(),表明已经准备完毕,随时可以进入到播放状态了。
5、播放状态:这时候我们就可以调用start()进入播放状态了。
6、暂停状态:当我们在播放过程中调用pause(),就会进入到暂停状态。
7、停止状态:当播放或者暂停状态时,我们调用stop(),就会进入到停止状态。
其他状态:
1、Preparing 状态:这个状态比较好理解,主要是和prepareAsync()配合,如果异步准备完成,会触发OnPreparedListener.onPrepared(),进而进入Prepared状态。
2、PlaybackCompleted状态:文件正常播放完毕,而又没有设置循环播放的话就进入该状态,并会触发OnCompletionListener的onCompletion()方法。此时可以调用start()方法重新从头播放文件,也可以stop()停止MediaPlayer,或者也可以seekTo()来重新定位播放位置。
3、Error状态:如果由于某种原因MediaPlayer出现了错误,会触发OnErrorListener.onError()事件,此时MediaPlayer即进入Error状态,及时捕捉并妥善处理这些错误是很重要的,可以帮助我们及时释放相关的软硬件资源,也可以改善用户体验。通过setOnErrorListener(android.media.MediaPlayer.OnErrorListener)可以设置该监听器。如果MediaPlayer进入了Error状态,可以通过调用reset()来恢复,使得MediaPlayer重新返回到Idle状态。
更多:MediaPlayer详解
正常情况经历的状态:
1、闲置状态:当调用Reset()或调用new创建对象时,就处于该状态。
2、结束状态:当调用release()时就处于结束状态。当我们不再需要使用MediaPlayer时就应该调用该方法,释放掉软硬件资源。
3、初始化状态:该状态是当我们调用了setDataResource,表示我们已经设置好了需要播放的资源文件。
4、准备状态:完成初始化之后,还需要调用prepare()或prepareAsync(),表明已经准备完毕,随时可以进入到播放状态了。
5、播放状态:这时候我们就可以调用start()进入播放状态了。
6、暂停状态:当我们在播放过程中调用pause(),就会进入到暂停状态。
7、停止状态:当播放或者暂停状态时,我们调用stop(),就会进入到停止状态。
其他状态:
1、Preparing 状态:这个状态比较好理解,主要是和prepareAsync()配合,如果异步准备完成,会触发OnPreparedListener.onPrepared(),进而进入Prepared状态。
2、PlaybackCompleted状态:文件正常播放完毕,而又没有设置循环播放的话就进入该状态,并会触发OnCompletionListener的onCompletion()方法。此时可以调用start()方法重新从头播放文件,也可以stop()停止MediaPlayer,或者也可以seekTo()来重新定位播放位置。
3、Error状态:如果由于某种原因MediaPlayer出现了错误,会触发OnErrorListener.onError()事件,此时MediaPlayer即进入Error状态,及时捕捉并妥善处理这些错误是很重要的,可以帮助我们及时释放相关的软硬件资源,也可以改善用户体验。通过setOnErrorListener(android.media.MediaPlayer.OnErrorListener)可以设置该监听器。如果MediaPlayer进入了Error状态,可以通过调用reset()来恢复,使得MediaPlayer重新返回到Idle状态。
更多:MediaPlayer详解
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories