网站开发中涉及的侵权行为,软件开发案例展示,软件商店下载app,在哪里可以看免费的资源常用的系统播放器——MediaPlayer
状态图以及生命周期 Idle状态、End状态、Error状态
MediaPlayer创建实例或者调用reset#xff08;#xff09;后就处于Idle状态#xff0c;即就绪。
任意时刻调用release#xff08;#xff09;就会进入End
当运行过程中出错#xf…常用的系统播放器——MediaPlayer
状态图以及生命周期 Idle状态、End状态、Error状态
MediaPlayer创建实例或者调用reset后就处于Idle状态即就绪。
任意时刻调用release就会进入End
当运行过程中出错用户提供的回调函数onErrorListener.onError就会触发进入Error状态
Initialized状态
调用setDataSource参数就会进入Initialized只能在Idle调用不然则会抛出IllegalArgumentException和IOException
Prepared状态
有两种方式一种是同步方式另一种是异步
同步一般用在本地音视频文件直接调用prepared()进入Prepared状态
异步一般用在网络数据需要缓冲时调用preparedAsync()进入Preparing状态而后再到Prepared状态
Started状态
上层应用再进入Prepared状态时可以设置一些属性比如音量、Looping等等调用start()进入Started状态。
如果用户重写过onBufferingUpdateListener.onBufferingUpdate就会开始回调这个函数是用于更保持跟踪音视频的buffering status。
Pause状态
Started 到Pause 的过程是瞬间的通过调用pause()从start恢复过来时需要playback恢复之前暂停的位置接着开始播放。
Stopped状态
Start状态也是可以Stop的而且无论是哪种状态只要调用了onstopped就会进入Stopped状态playback将不会开始只能重新调用prepare 或者 prepareAsync处于Prepared才能开始。
Playback Completed状态
ared**才能开始。
Playback Completed状态
顾名思义即播放完成当Looping false意味着不会循环播放并且注册过setOnCompletionListener播放器将会回调onCompletetion.onCompletion函数代表进入Playback Completed状态