MediaPlayer 简单使用方法
首先,先看我写的简单小例子
界面代码,xml:
小结:
1、获得MediaPlayer对象的两种方法
第一种:通过new实例化得到
MediaPlayer player = new MediaPlayer();
第二种:使用create方法
MediaPlayer player = MediaPlayer.create(this, R.raw.fly);
注意:
第一种方式:
①成功调用后MediaPlayer将处于Idle状态
②setDataSource对String(path)、Uri、FileDescripor格式的资源路径的支持
③后续需要手动调用prepare()才能进行播放
第二种方式:
①成功调用后,MediaPlayer将处于Prepare状态
②create提供了对int(resID)和URi格式的的资源路径的支持
③无需(也不能再次调用)prepare(),就能直接播放
2、注意stop方法的处理
stop之后立刻让其调用prepare方法,避免再次调用start的时候发生错误
3、release()可以释放播放器占用的资源,一旦确定不再使用播放器时应当尽早调用它释放资源。
reset()可以使播放器从Error状态中恢复过来,重新会到Idle状态。
seekTo()方法是定位方法,可以让播放器从指定的位置开始播放,需要注意的是该方法是个异步方法,也就是说该方法返回时并不意味着定位完成,尤其是播 放的网络文件,真正定位完成时会触发OnSeekComplete.onSeekComplete(),如果需要是可以调用setOnSeekCompleteListener(OnSeekCompleteListener)设 置监听器来处理的。
prepare()和prepareAsync() 提供了同步和异步两种方式设置播放器进入prepare状态,需要注意的是,如果MediaPlayer实例是由create方 法创建的,那么第一次启动播放前不需要再调用prepare()了,因为create方法里已经调用过了。
其他的代码上有解释,认真看代码,和前面一章的生命周期的讲解。