如何隐藏ExoPlayer2中的控制按钮

时间:2017-02-16 01:47:24

标签: java android exoplayer exoplayer2.x

如何隐藏ExoPlayer2中的所有控制器(开始按钮,暂停等)它们不存在,并且屏幕始终已满。

我看,有simpleExoPlayerView.setUseController(true)方法;

但它会停用播放器......

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

如何隐藏或删除这些组件?

9 个答案:

答案 0 :(得分:39)

使用ExoPlayer-r2.2.0

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

app:布局

中的use_controller =“false”
<...
    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"/>

答案 1 :(得分:7)

只需使用此

即可
exoPlayerView.setUseController(false);

答案 2 :(得分:3)

exoPlayerView.setUseController(false);

答案 3 :(得分:2)

为解决这个问题,我这样做了:

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()
                }
            }
        }
    }

答案 4 :(得分:1)

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

使用其中任何一个来设置可见性。 Android文档:Link

答案 5 :(得分:1)

科特琳:

exoPlayerView.useController = false

Java:

exoPlayerView.setUseController(false);

答案 6 :(得分:1)

就我而言,我只想显示控制器并隐藏视频屏幕。我使用了PlaybackControlView。

     <com.google.android.exoplayer2.ui.PlaybackControlView
            android:id="@+id/player_view"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@color/quantum_yellow"/>

答案 7 :(得分:0)

PlayerView具有hideController方法。 您可以这样称呼它:

mPlayerView.hideController();

答案 8 :(得分:0)

exoPlayerView.useController = false