【问题标题】:How to put ExoPlayer controller under PlayerView如何将 ExoPlayer 控制器放在 PlayerView 下
【发布时间】:2022-06-28 20:35:55
【问题描述】:

我正在尝试将 PlayerControlView 放在 PlayerView 下并使用 PlayerControlView 控制 PlayerView。 这是我的 xml 代码。

<com.google.android.exoplayer2.ui.PlayerView
            android:id="@+id/exoplayer"
            android:layout_width="match_parent"
            android:layout_height="400dp"
            app:layout_constraintTop_toBottomOf="@id/container_appbar"
            app:use_controller="false"
            app:resize_mode="fit" />

<com.google.android.exoplayer2.ui.PlayerControlView
            android:id="@+id/exo_controller"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:layout_constraintTop_toBottomOf="@id/exoplayer"
            app:show_timeout="0" />

这是我的 Kotlin 代码。

player = ExoPlayer.Builder(requireContext()).build()
binding.exoController.player = player
binding.exoplayer.player = player
player.apply{
    setMediaItem(mediaItem)
    addListener(onPlayStateChangeListener)
    prepare()
}

设置它们后,控制器不起作用,当我打印 binding.exocontroller 的持续时间和可见性时,它打印 -9223372036854775807 并且不可见。 我想知道如何解决这个问题。

【问题讨论】:

    标签: android kotlin exoplayer exoplayer2.x


    【解决方案1】:

    您必须为此创建自己的播放器控件

    例如,代替控制器 UI 添加一个 ImageView 作为播放按钮,然后在您的活动中添加此代码

    binding.playButton.setOnClickListener{player.play()}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-18
      • 2018-09-03
      • 2019-01-12
      • 1970-01-01
      • 2019-06-10
      • 1970-01-01
      • 1970-01-01
      • 2019-05-10
      相关资源
      最近更新 更多