MediaPlayer简介

   一、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详解

你可能感兴趣的:(android)