本篇文章主要介绍了"视频播放三——视频播放",主要涉及到方面的内容,对于移动开发感兴趣的同学可以参考一下:
这一篇开始讲视频播放,这是整个项目最重要的部分,所以尽量说的详细点。我们的视频播放使用的是surfaceView+MediaPlayer,下面一步一步来看具体的...
@OverridepublicvoidsurfaceDestroyed(SurfaceHolder holder) {
if (mVideoPlayer != null) {
changeState(STOP);
mVideoPlayer.release();
mVideoPlayer = null;
}
}
三. 上一首,下一首功能:
(1) 下一首:
privatevoidplayNext() {
mCurrentPosition++;
if (mCurrentPosition < mVideoList.size()) {
mVideo = mVideoList.get(mCurrentPosition);
play(0);
} else {
mCurrentPosition--;
Toast.makeText(PlayActivity.this, "已经是最后一个了",
Toast.LENGTH_SHORT).show();
}
}
将mCurrentPosition++,判断是否超出集合范围,如果没有,获取当前的视频,调用play播放此视频。如果已经是最后一个,在给出提示。
(2)上一首:
privatevoidplayPrevious() {
mCurrentPosition--;
if (mCurrentPosition >= 0) {
mVideo = mVideoList.get(mCurrentPosition);
play(0);
} else {
mCurrentPosition++;
Toast.makeText(PlayActivity.this, "已经是第一个了",
Toast.LENGTH_SHORT).show();
}
}
将mCurrentPosition–,判断是否小于0,如果没有,则获取当前视频,调用play播放,如果已经是第一个了,则给出提示。
四. 进度条的更新及快进快退:
进度条我们使用seekbar控件。
(1) 更新进度条:
对于视频来说,一般调用start方法开始播放后,进度条就需要开始更新,所以我们在changeState方法中,当状态改变为PLAY时,开始更新进度条。