Видео YouTube Player не загружается при возврате во фрагмент - PullRequest
0 голосов
/ 12 января 2020

Я настроил YouTubePlayerView, который работает отлично, но я столкнулся со странной проблемой. Когда я go перехожу на другой фрагмент, а затем go назад, YouTubePlayerView не может загрузить видео, даже если точный код выполняется.

private String currentVideoID "p450mjB3mxc";
private YouTubePlayerView youtubeView;

private void init(View view)
{
    youtubeView = view.findViewById(R.id.youtubeView);
    new YoutubeHelper(youtubeView,currentVideoID,this);
}

public void setYoutubePlayer(YouTubePlayer youtubePlayerPublic)
{
        this.youtubePlayer = youtubePlayerPublic;
        youtubePlayer.loadVideo(currentVideoID); 
}

YoutubeHelper.class:

public class YoutubeHelper {

    public final static String YoutubeAPIKey="MY_API_KEY";
    public YouTubePlayer youtubePlayerPublic;
    private YouTubePlayerView youTubeView;

    public YoutubeHelper(YouTubePlayerView youTubeView, String initialVideo, MainFragment fragment)
    {
        this.youTubeView = youTubeView;
        init(initialVideo,fragment);
    }

    private void init(String initialVideo,final MainFragment fragment)
    {
        youTubeView.initialize(YoutubeAPIKey,
                new YouTubePlayer.OnInitializedListener() {
                    @Override
                    public void onInitializationSuccess(YouTubePlayer.Provider provider,
                                                        final YouTubePlayer youTubePlayer, boolean b) {

                        youTubePlayer.cueVideo(initialVideo);
                        youtubePlayerPublic = youTubePlayer;
                        fragment.setYoutubePlayer(youTubePlayer);
                    }
                    @Override
                    public void onInitializationFailure(YouTubePlayer.Provider provider,
                                                        YouTubeInitializationResult youTubeInitializationResult) {
                        Log.d("Youtube Error:", youTubeInitializationResult.toString());
                    }
                });
    } 
}

Я пытался ответить , но безуспешно.

Есть идеи?

1 Ответ

0 голосов
/ 12 января 2020

Я нашел решение, если кто-то сталкивался с такой же проблемой. Перед тем как оставить фрагмент сделайте:

youtubePlayer.pause();
youtubePlayer.release();
...