How to make MediaController visible during video playback

I am using MediaController in my application. But, unfortunately, MediaController disappears after 3 seconds. But I want my MediaController to be visible until my video plays fully.

How to do it.

+4
source share
3 answers

By default, MediaController hides after 3 seconds. To make it visible during video playback, we will have to override the hide () property of MediaController. I have provided a code snippet below.

final MediaController mc = new MediaController(this); video.setMediaController(new MediaController(this) { @Override public void hide() { mc.show(); } }); video.setMediaController(mc); 
+11
source

To stop hiding the MediaController, we can create a new Mediacontroller by extending the base class. Then we can disable the hide method by simply overriding it. To get the actual hide function, we can get the hide () method in the base class. We can hide the Mediacontroller after the playback is completed using this. Here is the code for MediaController:

 public class MediaController_2 extends MediaController{ public MediaController_2(Context context) { super(context); } public void hide() { } public void hidecontroller() { super.hide(); } } 

Now the mediacontroller will not hide even after playback is completed. To hide the controllers after playback is complete, we can use the OnCompletionListener.

  MediaController_2 mediaController = new MediaController_2(getActivity()); mediaPlayer.prepare(); mediaPlayer.start(); mediaController.show(0); mediaPlayer.setOnCompletionListener(new OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { mediaController.hidecontroller(); } }); 
+2
source

More compressed

Firstly, using int timeout as a parameter in the show() method did nothing for me.

Secondly, this short piece of code made the controls stay on the screen after the first press:

 // Assumes you have a VideoView in your layout called 'video_preview'. VideoView videoPreview = (VideoView) findViewById(R.id.video_preview); MediaController mediaController = new MediaController(this) { @Override public void hide() {} // Prevent hiding of controls. }; videoPreview.setMediaController(mediaController); 
0
source

All Articles