我试图将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" />
这是我的科特林密码。
player = ExoPlayer.Builder(requireContext()).build()
binding.exoController.player = player
binding.exoplayer.player = player
player.apply{
setMediaItem(mediaItem)
addListener(onPlayStateChangeListener)
prepare()
}
设置后,控制器不工作,当我打印binding.exocontroller
的持续时间和可见性时,它打印了9223372036854775807和不可见。
我想知道如何解决这个问题。
您必须为此创建自己的玩家控件
例如,不是控制器UI,而是添加一个ImageView作为播放按钮,然后在您的活动中添加此代码
binding.playButton.setOnClickListener{player.play()}