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(); } });
source share