如何使用jetpack在Exoplayer和media 3中添加自定义ui控制器,就像android中的旧视图系统一样?

问题描述 投票:0回答:1

我正在将 Exoplayer 与 Media 3 库一起使用。我无法像我们在旧视图系统中那样在 Exoplayer 中添加自定义句柄。

我期望在新的jetpack compose中添加与旧视图系统相同的控制器的自定义UI。到目前为止,我可以使用默认的 UI 控制器播放视频,但无法进行自定义。请帮助我如何在 Exoplayer 中添加可自定义视图?

kotlin android-jetpack-compose exoplayer android-media3
1个回答
0
投票

您可以将自定义 ui 添加到 androidx.media3 库。首先为您的自定义控件创建一个布局player_controls.xml,如下所示

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="match_parent">

   <ImageButton android:id="@id/exo_play_pause"
    android:layout_gravity="center"
    android:background="@drawable/your_custom_shape"
    style="@style/ExoStyledControls.Button.Center.PlayPause"/>

   //Add more controls you need and design them according to your needs

 </FrameLayout>

然后在您的主 xml 和玩家视图中添加自定义控件布局,如下所示

       <androidx.media3.ui.PlayerView
        android:id="@+id/video_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        ads:controller_layout_id="@layout/player_controls"/>
© www.soinside.com 2019 - 2024. All rights reserved.