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?
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"/>
Utilisez simplement ceci
exoPlayerView.setUseController(false);
exoPlayerView.setUseController(false);
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()
}
}
}
}
controller.setVisibility(View.GONE);
controller.setVisibility(View.INVISIBLE);
Utilisez l'un ou l'autre pour définir la visibilité ..___. Documentation Android: Lien
PlayerView a une méthode hideController . Vous pouvez l'appeler comme ceci:
mPlayerView.hideController();