ExoPlayer - 在 DefaultTimeBar 中更改拇指

Nim*_*kai 3 android android-layout exoplayer exoplayer2.x

正如我从 2.4.0 版的发布说明中了解到的,ExoplayerSeekBarDefaultTimeBar. https://github.com/google/ExoPlayer/blob/dev-v2/RELEASENOTES.md

正如我所见,在 2017 年 2 月 19 日:https: //github.com/bigexxx/ExoPlayer/blob/c5db6f39a6e07b4f98364ff40476e4e213172488/library/src/main/java/com/google/android/exoplayerControl2/uis :

(第 285 行): progressBar = (SeekBar) findViewById(R.id.exo_progress);

现在:github.com/google/ExoPlayer/blob/release-v2/library/ui/src/main/java/com/google/android/exoplayer2/ui/PlaybackControlView.java

这是:

(行:384):timeBar = (TimeBar) findViewById(R.id.exo_progress);

DefaultTimeBar 没有类似的方法.setThumb(),在我看来,拇指是CanvasdrawPlayhead(Canvas canvas).

问题:是否可以在 中设置自己的拇指图标DefaultTimeBar

Ale*_*xey 10

我没有找到在 DefaultTimeBar 中设置拇指图标的选项。

您可以复制 DefaultTimeBar 并通过更改drawPlayhead(Canvas canvas)方法自定义拇指 。

你也可以通过添加exo_playback_control_view.xml来改变它的颜色。(洗涤器 == 拇指)

        <com.google.android.exoplayer2.ui.DefaultTimeBar
            android:id="@id/exo_progress"
            android:layout_width="0dp"
            android:layout_weight="1"
            app:scrubber_color="@color/scrubberColor"
            app:played_color="@color/playedColor"
            app:unplayed_color="@color/unplayedColor"
            app:buffered_color="@color/bufferedColor"
            android:layout_height="26dp"/>
Run Code Online (Sandbox Code Playgroud)

有关自定义 ExoPlayer 的 UI 组件的更多信息:https : //medium.com/google-exoplayer/customizing-exoplayers-ui-components-728cf55ee07a

'

========== 更新 ================

可以使用以下属性来更改scrubber drawable:

    app:scrubber_drawable="@drawable/ic_scrubber"
    app:scrubber_enabled_size="24dp"
Run Code Online (Sandbox Code Playgroud)


Nim*_*kai 6

这个选项是由 ExoPlayer 团队在我提出这个问题后添加的:https : //github.com/google/ExoPlayer/commit/3602a9a7e41d41f76bfd621b88413873086ec154

app:scrubber_drawable="@drawable/ic_scrubber"
Run Code Online (Sandbox Code Playgroud)