我正在尝试加载缩略图,但是视频已启用并且从未调用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以处理缩略图。