首页 > 代码库 > Android Multimedia框架总结(一)MediaPlayer介绍之状态图及生命周期

Android Multimedia框架总结(一)MediaPlayer介绍之状态图及生命周期

请尊重分享成果,转载请注明出处:
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干货,源码分析,欢迎关注我的微信公众号,扫一扫下方二维码或者长按识别二维码,即可关注。

技术分享

如果你觉得好,随手点赞,也是对笔者的肯定,也可以分享此公众号给你更多的人,原创不易

<script type="text/javascript"> $(function () { $(‘pre.prettyprint code‘).each(function () { var lines = $(this).text().split(‘\n‘).length; var $numbering = $(‘
    ‘).addClass(‘pre-numbering‘).hide(); $(this).addClass(‘has-numbering‘).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($(‘
  • ‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>

    Android Multimedia框架总结(一)MediaPlayer介绍之状态图及生命周期