@ -55,6 +55,7 @@ public class VideoView extends SurfaceView implements MediaPlayerControl {
|
|||||||
private SurfaceHolder mSurfaceHolder = null;
|
private SurfaceHolder mSurfaceHolder = null;
|
||||||
private MediaPlayer mMediaPlayer = null;
|
private MediaPlayer mMediaPlayer = null;
|
||||||
private boolean mIsPrepared;
|
private boolean mIsPrepared;
|
||||||
|
private boolean mIsPlaybackCompleted;
|
||||||
private int mVideoWidth;
|
private int mVideoWidth;
|
||||||
private int mVideoHeight;
|
private int mVideoHeight;
|
||||||
private int mSurfaceWidth;
|
private int mSurfaceWidth;
|
||||||
@ -260,7 +261,7 @@ public class VideoView extends SurfaceView implements MediaPlayerControl {
|
|||||||
mSeekWhenPrepared = 0;
|
mSeekWhenPrepared = 0;
|
||||||
}
|
}
|
||||||
if (mStartWhenPrepared) {
|
if (mStartWhenPrepared) {
|
||||||
mMediaPlayer.start();
|
start();
|
||||||
mStartWhenPrepared = false;
|
mStartWhenPrepared = false;
|
||||||
if (mMediaController != null) {
|
if (mMediaController != null) {
|
||||||
mMediaController.show();
|
mMediaController.show();
|
||||||
@ -281,7 +282,7 @@ public class VideoView extends SurfaceView implements MediaPlayerControl {
|
|||||||
mSeekWhenPrepared = 0;
|
mSeekWhenPrepared = 0;
|
||||||
}
|
}
|
||||||
if (mStartWhenPrepared) {
|
if (mStartWhenPrepared) {
|
||||||
mMediaPlayer.start();
|
start();
|
||||||
mStartWhenPrepared = false;
|
mStartWhenPrepared = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -291,6 +292,7 @@ public class VideoView extends SurfaceView implements MediaPlayerControl {
|
|||||||
private MediaPlayer.OnCompletionListener mCompletionListener =
|
private MediaPlayer.OnCompletionListener mCompletionListener =
|
||||||
new MediaPlayer.OnCompletionListener() {
|
new MediaPlayer.OnCompletionListener() {
|
||||||
public void onCompletion(MediaPlayer mp) {
|
public void onCompletion(MediaPlayer mp) {
|
||||||
|
mIsPlaybackCompleted = true;
|
||||||
if (mMediaController != null) {
|
if (mMediaController != null) {
|
||||||
mMediaController.hide();
|
mMediaController.hide();
|
||||||
}
|
}
|
||||||
@ -405,7 +407,9 @@ public class VideoView extends SurfaceView implements MediaPlayerControl {
|
|||||||
mMediaPlayer.seekTo(mSeekWhenPrepared);
|
mMediaPlayer.seekTo(mSeekWhenPrepared);
|
||||||
mSeekWhenPrepared = 0;
|
mSeekWhenPrepared = 0;
|
||||||
}
|
}
|
||||||
mMediaPlayer.start();
|
if (!mIsPlaybackCompleted) {
|
||||||
|
start();
|
||||||
|
}
|
||||||
if (mMediaController != null) {
|
if (mMediaController != null) {
|
||||||
mMediaController.show();
|
mMediaController.show();
|
||||||
}
|
}
|
||||||
@ -490,6 +494,7 @@ public class VideoView extends SurfaceView implements MediaPlayerControl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void start() {
|
public void start() {
|
||||||
|
mIsPlaybackCompleted = false;
|
||||||
if (mMediaPlayer != null && mIsPrepared) {
|
if (mMediaPlayer != null && mIsPrepared) {
|
||||||
mMediaPlayer.start();
|
mMediaPlayer.start();
|
||||||
mStartWhenPrepared = false;
|
mStartWhenPrepared = false;
|
||||||
|
Reference in New Issue
Block a user