web-dev-qa-db-fra.com

Comment masquer les boutons de contrôle dans ExoPlayer2

Comment masquer tous les contrôleurs dans ExoPlayer2 (bouton de démarrage, pause, etc.) s'ils n'existaient pas et que l'écran était toujours plein.

J'ai regardé, il y a simpleExoPlayerView.setUseController(true) méthode;

Mais cela désactive le joueur ...

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

Comment masquer ou supprimer ces composants?

12
Nurlan Kanimetov

ExoPlayer-r2.2.0 utilisé

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

ou

app: use_controller = "false" dans la mise en page

<...
    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"/>
36
Junsu Lee

Utilisez simplement ceci 

exoPlayerView.setUseController(false);
5
karthik kolanji
exoPlayerView.setUseController(false);
3
rsc

Pour résoudre ce problème, j'ai fait ceci: 

Code en 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()
                }
            }
        }
    }
2
MarceloSouza
controller.setVisibility(View.GONE);
controller.setVisibility(View.INVISIBLE); 

Utilisez l'un ou l'autre pour définir la visibilité ..___. Documentation Android: Lien

1
Dharan Aditya

PlayerView a une méthode hideController . Vous pouvez l'appeler comme ceci:

mPlayerView.hideController();

0
linkaipeng