我使用ExoPlayer在我的Android应用程序上播放音频,并使用SimpleExoPlayerView作为控制器.默认控制器有五个按钮,播放/暂停,前进,后退,下一个和上一个.我的应用程序只使用播放/暂停,前进和后退,所以我想从控制器中删除下一个和上一个按钮,但我找不到如何使用SimpleExoPlayerView.我该如何实现这一目标?
Kri*_*hna 19
每个按钮都有默认样式.只需覆盖上一个和下一个按钮的样式,并添加可见性.
在style.xml中放置以下样式
<style name="ExoMediaButton.Previous">
<item name="android:visibility">gone</item>
</style>
<style name="ExoMediaButton.Next">
<item name="android:visibility">gone</item>
</style>
Run Code Online (Sandbox Code Playgroud)
Nev*_*ore 11
您将需要一个自定义布局exo_playback_control_view.xml文件,exoplayer默认情况下该文件用于对控件视图进行膨胀.定义自定义布局exo_playback_control_view并使用某些ids非常重要
可以在源代码release-v2或dev-v2-r2.3.1中看到默认控件(确保找到exoplayer您正在使用的版本)
您可以将该文件复制到您的res/layout目录中,并删除不需要的按钮,默认情况如下:
<ImageButton android:id="@id/exo_prev"
style="@style/ExoMediaButton.Previous"/>
<ImageButton android:id="@id/exo_rew"
style="@style/ExoMediaButton.Rewind"/>
<ImageButton android:id="@id/exo_play"
style="@style/ExoMediaButton.Play"/>
<ImageButton android:id="@id/exo_pause"
style="@style/ExoMediaButton.Pause"/>
<ImageButton android:id="@id/exo_ffwd"
style="@style/ExoMediaButton.FastForward"/>
<ImageButton android:id="@id/exo_next"
style="@style/ExoMediaButton.Next"/>
Run Code Online (Sandbox Code Playgroud)
exoplayer; 作者写了一个自定义控件:
<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"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:background="#CC000000"
style="@style/ExoMediaButton.Play"/>
<ImageButton android:id="@id/exo_pause"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_gravity="center"
android:background="#CC000000"
style="@style/ExoMediaButton.Pause"/>
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)
注意ids是必需的
exoplayer 的 PlayerView 类有两个方法来隐藏它们
playerView.setShowNextButton(showNextPrevButtons)
playerView.setShowPreviousButton(showNextPrevButtons)
Run Code Online (Sandbox Code Playgroud)
小智 5
在 style.xml 中尝试以下操作
<style name="ExoMediaButton.Previous">
<item name="android:layout_height">0dp</item>
<item name="android:layout_width">0dp</item>
</style>
<style name="ExoMediaButton.Next">
<item name="android:layout_height">0dp</item>
<item name="android:layout_width">0dp</item>
</style>
Run Code Online (Sandbox Code Playgroud)