Android应用:另一个YouTube网址未加载视频

时间:2018-08-20 19:37:15

标签: java android youtube-api initialization android-youtube-api

当我第一次调用此方法时,我会加载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?

1 个答案:

答案 0 :(得分:0)

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