MediaPlayer介绍之状态图及生命周期

请尊重分享成果,转载请注明出处: http://blog.****.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介绍之状态图及生命周期

椭圆代表MediaPlayer驻留的状态 
弧代表playback控制且驱动MediaPlayer状态进行过渡。 
有两种类型的弧,一种是用单箭头表示的是同步方法调用,另一种有两个箭头代表异步方法调用

从状态图中,我们能看到MediaPlayer有如下一些状态:

Idle 状态及End 状态

MediaPlayer介绍之状态图及生命周期

Error 状态

MediaPlayer介绍之状态图及生命周期

Initialized状态

MediaPlayer介绍之状态图及生命周期

Prepared状态

MediaPlayer介绍之状态图及生命周期

Started状态

MediaPlayer介绍之状态图及生命周期

Paused状态

MediaPlayer介绍之状态图及生命周期

Stopped状态

MediaPlayer介绍之状态图及生命周期

PlaybackCompleted状态

MediaPlayer介绍之状态图及生命周期