版权声明:我已委托“维权骑士”(rightknights.com)为我的文章进行维权行动.转载务必转载所有,且须注明出处。否则保留追究法律责任 https://blog.csdn.net/hejjunlin/article/details/52349221 </div>
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-3019150162.css">
<div id="content_views" class="markdown_views prism-atom-one-dark">
<!-- flowchart 箭头图标 勿删 -->
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path>
</svg>
<p>请尊重分享成果,转载请注明出处: <br>
http://blog.csdn.net/hejjunlin/article/details/52349221
前言:从本篇开始,将进入Multimedia框架,包含MediaPlayer, Camera, Surface, MediaRecord, 接下来几篇都是MediaPlayer相关。同样看下Agenda如下:
- MediaPlayer的状态图
- Idle 状态
- End 状态
- Error 状态
- Initialized状态
- Prepared状态
- Preparing状态
- Started状态
- Paused状态
- Stopped状态
- PlaybackCompleted状态
MediaPlayer介绍
MediaPlayer类是用于控制playback的视频/音频文件及流。
主要覆盖如下以下方面:
- 状态图
- 有效状态及无效状态
- 权限
- 回调方法
MediaPlayer的状态图
playback控制视频/音频文件及流是被状态机进行管理。下图显示MediaPlayer生命周期以及由playback控制操作所影响。
椭圆代表MediaPlayer驻留的状态
弧代表playback控制且驱动MediaPlayer状态进行过渡。
有两种类型的弧,一种是用单箭头表示的是同步方法调用,另一种有两个箭头代表异步方法调用
从状态图中,我们能看到MediaPlayer有如下一些状态:
Idle 状态及End 状态
Error 状态
Initialized状态
Prepared状态
Started状态
Paused状态
Stopped状态
PlaybackCompleted状态
第一时间获得博客更新提醒,以及更多android干货,源码分析,欢迎关注我的微信公众号,扫一扫下方二维码或者长按识别二维码,即可关注。
如果你觉得好,随手点赞,也是对笔者的肯定,也可以分享此公众号给你更多的人,原创不易