手机开发 2016-11-13
1.MediaPlayer和VideoView介绍
Android 系统中提供开发者开发多媒体应用(音视频方面)
一,MediaPlayer,
解码的是底层,MediaPlayer负责和底层打交道,封装了很多方法 start,pause,stop ,播放视频的类
这个MediaPlayer可以播放本地 和网络 的音视频 播放网络资源的时候,要联网权限
1,执行流程
2.视频支持的格式 mp4,3gp,.m3u8 直接用pc的.mp4文件
二,VideoView
显示视频,继承SurfaceView类,实现MediaPlayerControl接口,封装了MediaPlayer start,pause,stop,本质上是调用MediaPlayer
SurfaceView 视频的原理和小故事
SurfaceView默认使用双缓冲技术的,它支持在子线程中绘制图像,这样就不会阻塞主线程了,所以它更适合于游戏和视频播放器的开发
实现MediaPlayerControl接口,便于控制面板调用VideoView的方法
public interface MediaPlayerControl { void start(); void pause(); int getDuration(); int getCurrentPosition(); void seekTo(int pos); boolean isPlaying(); int getBufferPercentage(); boolean canPause(); boolean canSeekBackward(); boolean canSeekForward(); /** * Get the audio session id for the player used by this VideoView. This can be used to * apply audio effects to the audio track of a video. * @return The audio session, or 0 if there was an error. */ int getAudioSessionId(); }
videoview.setMediaController(new MediaController(this));