为什么 Jetpack-media3/exoplayer 控件会使视频变暗?

mcc*_*mcc 5 android exoplayer exoplayer2.x

我通过 androidx.media3:media3-exoplayer:1.0.0-beta03 使用 exoplayer2。我的 XML 布局中有一个 androidx.media3.ui.PlayerView,然后在我的代码中,我使用 ExoPlayer.Builder 创建一个 Exoplayer 并将其分配给playerView.setPlayer。

当显示控件 (PlayerControlView) 时,整个视频会变暗/变暗。我不想要这样,但我不知道如何禁用它。

在 Google 中搜索,我找到了涉及 backgroundDimEnabled 的旧故障的参考资料(链接、链接)。我不认为这是我所看到的,因为(1)我在应用程序中的任何地方都找不到“backgroundDimEnabled”(2)它发生在深色和浅色主题上,以及(3)当我尝试建议的解决方法时((binding.videoView.getVideoSurfaceView() as SurfaceView).setZOrderOnTop(true);)控件消失,换句话说,z-order-on-top 将视频放在控件视图之上,这根本不是我想要的。如果我应该在某个地方肯定地设置backgroundDimEnabled="false",我不知道该将其放在什么 XML 上。

我正在使用 Kotlin,但这可能并不重要。

编辑:旧外观(好)
新外观(变暗)

mcc*_*mcc 2

好吧,据我所知,这是 Jetpack Media3 特定的事情。如果将 exo_player_control_view.xml 替换为基本 Exoplayer 库中的一个,昏暗的窗帘就会消失(但这会破坏其他东西)。

因此,要撤消它,您需要做的是将 exo_player_control_view.xml 从任何版本的

https://github.com/androidx/media/blob/release/libraries/ui/src/main/res/layout/exo_player_control_view.xml

...对应于您的 media3 版本,并将其放入您的项目中app/src/main/res/layout/exo_player_control_view.xml。然后编辑该文件进行更改,@id/exo_controls_background使其android:background="@color/exo_black_opacity_60"变为android:background="@android:color/transparent".