java – How to hide control buttons in ExoPlayer2-ThrowExceptions

Exception or error:

How to hide all controllers in ExoPlayer2 (start button, pause, and so on) that they did not exist, and the screen was always full.

I looked, there is simpleExoPlayerView.setUseController(true) method;

But it deactivate the player …

public void setUseController (boolean useController) {
    this.useController = useController;
if (useController) {
      controller.setPlayer(player);
    } else {
      controller.hide();
      controller.setPlayer(null);
    }
}

How to hide or delete these components?

How to solve:

ExoPlayer-r2.2.0 used

videoView.hideController();
videoView.setControllerVisibilityListener(new PlaybackControlView.VisibilityListener() {
    @Override
    public void onVisibilityChange(int i) {
        if(i == 0) {
            videoView.hideController();
        }
    }
});

or

app:use_controller=”false” in Layout

<...
    xmlns:app="http://schemas.android.com/apk/res-auto"
    ...>

    <com.google.android.exoplayer2.ui.SimpleExoPlayerView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:use_controller="false"/>

###

Simply use this

exoPlayerView.setUseController(false);

###

exoPlayerView.setUseController(false);

###

To solve this problem I did this:

Code in Kotlin

simpleExoPlayerView.setControllerVisibilityListener { visibility ->
        val layout = activity.findViewById<LinearLayout>(R.id.ll_customPlayBackControlView)
        if (layout.tag != "IN_ANIMATION") {
            when (visibility) {
                View.GONE -> {
                    layout.tag = "IN_ANIMATION"
                    ex_fragmentVideoView.showController()
                    layout.animate().alpha(0F).setDuration(450L).withEndAction({ ex_fragmentVideoView.hideController(); layout.tag = "" }).start()
                }
                View.VISIBLE -> {
                    layout.animate().alpha(1F).setDuration(450L).start()
                }
            }
        }
    }

###

Kotlin:

exoPlayerView.useController = false

Java:

exoPlayerView.setUseController(false);

###

PlayerView has a hideController method.
you can call it like this:


mPlayerView.hideController();

###

controller.setVisibility(View.GONE);
controller.setVisibility(View.INVISIBLE); 

Use either of those to set visibilty.
Android Documentation : Link

Leave a Reply

Your email address will not be published. Required fields are marked *