滚动回收器视图后,YouTubePlayerSupportFragment视频变黑,但音频仍在继续播放

时间:2018-05-15 09:19:38

标签: java android youtube

所以我使用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) {

                        }
                    }
                });
}

2 个答案:

答案 0 :(得分:2)

如果用户看不到视图,则必须暂停或停止视频: -

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);
 if (!isVisibleToUser) {
      youTubePlayer.stop(); // or pause 
    }
}

答案 1 :(得分:0)

所以我设法通过使用适配器的onViewDetachedFromWindow和onViewAttachedToWindow函数来解决这个问题。

在onViewAttachedToWindow中,我添加YouTubePlayerSupportFragment并初始化视频,在onViewDetachedFromWindow中,我暂停视频并删除片段。

这解决了我的问题。