【发布时间】:2020-03-01 15:57:33
【问题描述】:
我想使用 exoPlayer android 在 recyclerView 中显示图像和视频列表(从服务器获取),而不是自动播放。只有当用户点击任何视频缩略图时,它才应该播放。
【问题讨论】:
标签: android-recyclerview video-streaming exoplayer2.x
我想使用 exoPlayer android 在 recyclerView 中显示图像和视频列表(从服务器获取),而不是自动播放。只有当用户点击任何视频缩略图时,它才应该播放。
【问题讨论】:
标签: android-recyclerview video-streaming exoplayer2.x
要在回收站视图中显示图像和视频,您需要在适配器中创建 2 个不同的视图持有者,并使用以下代码获取图像和视频的视图类型:-
@Override
public int getItemViewType(int position) {
if (data.get(0).isVideo) {
return Constants.LAYOUT_VIDEO;
} else {
return Constants.LAYOUT_IMAGE;
}
}
以下是 onCreateViewHolder 的代码:-
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view;
if (viewType == Constants.LAYOUT_VIDEO) {
view = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_video, parent, false);
return new VideoViewHolder(view);
} else if (viewType == Constants.LAYOUT_IMAGE) {
view = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_image, parent, false);
return new ImageViewHolder(view);
}
}
有关在回收站视图中显示视频的更多信息,您可以访问以下链接:-
https://androidwave.com/exoplayer-in-recyclerview-in-android/
要禁用自动播放,只需在将 URL 设置为 exoplayer 之前写下一行:-
player.setPlayWhenReady(true);
【讨论】: