从未调用过ExoPlayer useArtwork,未显示缩略图

时间:2018-10-11 10:40:33

标签: android exoplayer exoplayer2.x

我正在尝试加载缩略图,但是视频已启用并且从未调用setDrawableArtwork(defaultArtwork)

我正在将defaultArtwork设置为

public void setDefaultArtwork(@Nullable Drawable defaultArtwork) {
    if (this.defaultArtwork != defaultArtwork) {
      this.defaultArtwork = defaultArtwork;
      updateForCurrentTrackSelections(/* isNewPlayer= */ false);
    }
}

但是当运行此选择循环时,渲染类型为TRACK_TYPE_VIDEO。而且艺术品从未展示。

useArtwork是真的。

TrackSelectionArray selections = player.getCurrentTrackSelections();
for (int i = 0; i < selections.length; i++) {
  if (player.getRendererType(i) == C.TRACK_TYPE_VIDEO && selections.get(i) != null) {
    // Video enabled so artwork must be hidden. If the shutter is closed, it will be opened in
    // onRenderedFirstFrame().
    hideArtwork();
    return;
  }
}

// Video disabled so the shutter must be closed.
closeShutter();
// Display artwork if enabled and available, else hide it.
if (useArtwork) {
  for (int i = 0; i < selections.length; i++) {
    TrackSelection selection = selections.get(i);
    if (selection != null) {
      for (int j = 0; j < selection.length(); j++) {
        Metadata metadata = selection.getFormat(j).metadata;
        if (metadata != null && setArtworkFromMetadata(metadata)) {
          return;
        }
      }
    }
  }
  if (setDrawableArtwork(defaultArtwork)) {
    return;
  }
}

ExoPlayer:implementation 'com.google.android.exoplayer:exoplayer:2.9.0'

有没有可以帮助我的ExoPlayer专家?

编辑:

同时,即时消息可能只是在PlayerView上构建ImageView以处理缩略图。

https://github.com/google/ExoPlayer/issues/4639

0 个答案:

没有答案