我在 RecyclerView 中使用 ExoPlayer。
我现在的工作方式是:
然而,当滚动浏览我的 RecyclerView 时,每个视频在播放前都会短暂(毫秒)闪烁黑色,如下面的视频所示:
我究竟做错了什么?我可以更改什么来防止视频播放前出现黑屏闪烁?
以下是我的 RecyclerView 适配器的相关部分:
public class PostAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private Context context;
private SimpleExoPlayer exoPlayer;
private HlsMediaSource.Factory hlsMediaSourceFactory;
public PostAdapter(Context context) {
this.context = context;
this.exoPlayer = new SimpleExoPlayer.Builder(context)
.build();
this.exoPlayer.setVideoTextureView(new TextureView(context));
this.hlsMediaSourceFactory = new HlsMediaSource.Factory(CustomMediaSourceFactory.buildMediaSourceFactory())
.setAllowChunklessPreparation(true); // TODO: Look into this
}
public class PostViewHolder extends RecyclerView.ViewHolder {
public ConstraintLayout videoContainer;
public ImageView videoThumbnail;
public …Run Code Online (Sandbox Code Playgroud)