Skip to content

Instantly share code, notes, and snippets.

@engr-erum
Created September 6, 2017 09:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save engr-erum/7aecea74a5f68c25329ca9e47cf67b91 to your computer and use it in GitHub Desktop.
Save engr-erum/7aecea74a5f68c25329ca9e47cf67b91 to your computer and use it in GitHub Desktop.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
final Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_video_preview, container, false);
btnPlay = view.findViewById(R.id.btn_play);
btnNext = view.findViewById(R.id.btn_next);
vvPreview = view.findViewById(R.id.vw_preview);
final ImageView ivPreview = view.findViewById(R.id.iv_preview);
ivPreview.setVisibility(View.VISIBLE);
if (mediaController == null) {
mediaController = new android.widget.MediaController(getActivity().getApplicationContext());
mediaController.setAnchorView(vvPreview);
mediaController.setVisibility(View.VISIBLE);
vvPreview.setMediaController(mediaController);
}
if (!TextUtils.isEmpty(URL)) {
Glide.with(getActivity().getApplicationContext())
.load(Uri.fromFile(new File(URL)))
.into(ivPreview);
}
btnPlay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (btnPlay.getText().equals(getString(R.string.play))) {
vvPreview.setVisibility(View.VISIBLE);
//position = vvPreview.getCurrentPosition();
ivPreview.setVisibility(View.GONE);
if(savedInstanceState!=null){
int currentPos = savedInstanceState.getInt("pos");
vvPreview.seekTo(currentPos);
}
initializeMediaPlayer(URL);
}
}
});
vvPreview.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
public void onPrepared(MediaPlayer mediaPlayer) {
vvPreview.seekTo(position);
if (position == 0) {
vvPreview.start();
}
// When video Screen change size.
mediaPlayer.setOnVideoSizeChangedListener(new MediaPlayer.OnVideoSizeChangedListener() {
@Override
public void onVideoSizeChanged(MediaPlayer mp, int width, int height) {
mediaController.setAnchorView(vvPreview);
}
});
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
mediaPlayer.stop();
if (mediaPlayer != null) {
if (mediaPlayer.isPlaying()) {
mediaPlayer.stop();
mediaPlayer.release();
Toast.makeText(getActivity().getApplicationContext(),"Video completion", Toast.LENGTH_SHORT).show();
}
}
}
});
}
});
vvPreview.setOnErrorListener(new MediaPlayer.OnErrorListener() {
@Override
public boolean onError(MediaPlayer mediaPlayer, int what, int extra) {
Log.d(VideoPreviewFragment.class.getName(),"what:"+what);
Log.d(VideoPreviewFragment.class.getName(),"extra:"+extra);
return true;
}
});
return view;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment