web-dev-qa-db-ja.com

ExoPlayer2でコントロールボタンを非表示にする方法

ExoPlayer2のすべてのコントローラー(スタートボタン、一時停止など)を非表示にして、それらが存在せず、画面が常にいっぱいであった方法。

simpleExoPlayerView.setUseController(true)メソッドがありました。

しかし、それはプレイヤーを無効にします...

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

これらのコンポーネントを非表示または削除する方法は?

16

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

単にこれを使用する

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

この問題を解決するために、私はこれをしました:

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

PlayerViewにはhideControllerメソッドがあります。次のように呼び出すことができます。

mPlayerView.hideController();

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

いずれかを使用して、可視性を設定します。 Android Documentation: Link

0
Dharan Aditya

コトリン:

exoPlayerView.useController = false

Java:

exoPlayerView.setUseController(false);
0
Westy92