MediaPlayer简介

本文详细介绍了Android MediaPlayer类的各种状态,包括闲置、结束、初始化等常见状态,以及Preparing、PlaybackCompleted等特殊状态。此外还讨论了如何通过监听器处理Error状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值