VideoView的示例
详细使用见demo下VideoViewActivity.
注:此VideoView 是对MediaPlayer和SurfaceView 的封装,所以不需要使用设置Surface相关的方法
1、创建播放器
videoView = (VideoView) findViewById(R.id.videoview);
2、设置监听
videoView. setOnPreparedListener();
videoView. setOnCompletionListener();
videoView.setOnBufferingUpdateListener();
videoView. setOnSeekCompleteListener();
videoView.setOnVideoSizeChangedListener();
videoView. setOnErrorListener();
videoView. setOnInfoListener();
videoView. setOnPlayStateListener();
3、下面以setOnPreparedListener为例
videoView.setOnPreparedListener(new IMediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(IMediaPlayer mediaplayer) {
mediaplayer.start();
}
});
4、设置播放信息
4.1 根据地址进行播放
String mVideoUrl = "http://xxxxx"; // mVideoUrl 为视频的播放地址
videoView.setDataSource(mVideoUrl);
4.2 根据视讯云视频id进行播放
videoView.setDataSource(iDataSource);
//具体适用详见demo
videoView.setDataSource(iActivityDataSource);
//具体适用详见demo
5、VideoView主要方法
除了以下方法其余方法定义详见MediaPlayer的主要方法
setDataSource(IDataSource iDataSource);
参数:iDataSource 包含视频id,视频类型,视频码率
功能:当使用视讯云视频id进行播放时,使用此方法设置播放信息
setDataSource(IActivityDataSource iActivityDataSource);
参数:iActivityDataSource包含视频id,活动id,视频类型,视频码率
功能:当使用视讯云视频id进行播放时,使用此方法设置播放信息
void reload();
功能:只针对使用视讯云视频id进行播放时,使用此方法重新加载
6、开始播放
videoView.start();
7、停止播放
videoView.stop();
8、释放播放器
videoView.release();
9、Activity回调的生命周期
public class VideoViewActivity extends AppCompatActivity{
@Override
protected void onPause() {
super.onPause();
videoView.pause();
}
@Override
protected void onResume() {
super.onResume();
videoView.start();
}
@Override
protected void onDestroy() {
super.onDestroy();
videoView.release();
}
}