所以我使用YouTubePlayerSupportFragment在回收站视图中的单元格内播放YouTube视频。
但是当我开始向下滚动并使用YouTubePlayerSupportFragment回到单元格时,视频会变黑但我仍然可以听到音频播放。
有没有人遇到同样的问题并设法解决了?
public void onBindViewHolder(ViewHolder holder) {
holder.youTubePlayerFragment.initialize("KEY",
new YouTubePlayer.OnInitializedListener() {
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider,
YouTubePlayer youTubePlayer, boolean b) {
youTubePlayer.cueVideo("ID");
youTubePlayer.play();
}
@Override
public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
if (provider != null) {
}
}
});
}
答案 0 :(得分:2)
如果用户看不到视图,则必须暂停或停止视频: -
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (!isVisibleToUser) {
youTubePlayer.stop(); // or pause
}
}
答案 1 :(得分:0)
所以我设法通过使用适配器的onViewDetachedFromWindow和onViewAttachedToWindow函数来解决这个问题。
在onViewAttachedToWindow中,我添加YouTubePlayerSupportFragment并初始化视频,在onViewDetachedFromWindow中,我暂停视频并删除片段。
这解决了我的问题。