首页 > 解决方案 > Android 应用:另一个 youtube 网址不加载视频

问题描述

当我第一次调用此方法时,我会加载 youtube 视频。但是当我第二次调用该方法时,我的旧 youtube 视频仍然存在。看起来它没有再次初始化。

private void showRoomInformations(final RoomDTO room){
    //Verify if the number of connections is the same
    if (room != null){
        YouTubePlayer.OnInitializedListener mOnInitializedListener;
        YouTubePlayer.PlayerStateChangeListener mPlayerStateChangeListener;
        YouTubePlayerView mYouTubePlayerView;

        mRoomDTO = room;
        TextView roomDescription = (TextView) ((Activity)mContext).findViewById(R.id.textDescription);
        TextView textRoomName = (TextView) ((Activity)mContext).findViewById(R.id.textRoomName);
        mYouTubePlayerView = (YouTubePlayerView) ((Activity)mContext).findViewById(R.id.view_youtube);

        textRoomName.setText(room.getName());
        roomDescription.setText(room.getDescription());

        mOnInitializedListener = new YouTubePlayer.OnInitializedListener() {
            @Override
            public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
                Log.d(TAG, "onClick: Done initializing.");

                youTubePlayer.cueVideo(getYouTubeUrl(room.getMedia()));
            }

            @Override
            public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
                Log.d(TAG, "onClick: Failed to initialize.");
            }
        };
        mYouTubePlayerView.initialize(YouTubeConfig.getApiKey(), mOnInitializedListener);
    }
}

private String getYouTubeUrl(String youTubeUrl){
    return youTubeUrl.replace("https://youtu.be/", "");
}

你能告诉我我做错了什么吗?如何再次初始化 YouTubePlayer?

标签: javaandroidyoutube-apiinitializationandroid-youtube-api

解决方案


您只需初始化播放器一次。之后,您应该使用YouTubePlayer.loadVideo()or YouTubePlayer.cueVideo()


推荐阅读