Here's my code where I play a video provided in link but on clicking at a particular time-point, it starts again to 0 position. I want to play the video from any selected position by user. I am using a webm video stored at the given link below. The video plays with play/pause funtionality however i cannot seek to a particular position in the video while streaming.
String videolinkurl = "techslides.com/demos/sample-videos/small.webm";
videoView = (VideoView) findViewById(R.id.videoView);
// Set the media controller buttons
if (mediaController == null) {
mediaController = new MediaController(sessionRecordingVideo.this);
// Set the videoView that acts as the anchor for the MediaController.
mediaController.setAnchorView(videoView);
// Set MediaController for VideoView
videoView.setMediaController(mediaController);
}
videoView.requestFocus();
videoView.setVideoURI(Uri.parse(videolinkurl));
final Boolean canSeekForward = videoView.canSeekForward();
System.out.println(canSeekForward);
final Boolean canSeekBackward = videoView.canSeekBackward();
System.out.println(canSeekBackward);
videoView.start();
// When the video file ready for playback.
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
public void onPrepared(MediaPlayer mediaPlayer) {
videoView.seekTo(position);
if (position == 0) {
videoView.start();
}
else if (canSeekForward && canSeekBackward){
int currentPosition = videoView.getCurrentPosition();
videoView.seekTo(currentPosition);
videoView.start();
}
else {
videoView.pause();
}
}
});
videoView.setOnInfoListener(new MediaPlayer.OnInfoListener() {
@Override
public boolean onInfo(MediaPlayer mediaPlayer, int what, int extra) {
return true;
}
});
videoView.setOnErrorListener(new MediaPlayer.OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
return true;
}
});
videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
public void onCompletion(MediaPlayer mediaPlayer) {
videoView.stopPlayback();
}
});