Android studio 在youTubePlayerView中加载多个视频-->;在空对象引用上发布youtubeplyer.release

Android studio 在youTubePlayerView中加载多个视频-->;在空对象引用上发布youtubeplyer.release,android-studio,android-youtube-api,ytplayerview,youtubeplayer,Android Studio,Android Youtube Api,Ytplayerview,Youtubeplayer,我尝试使用一个youTubePlayerView,通过单击不同的按钮加载不同的视频。我将视图序列化并加载视频。这很有效。但是,当我点击第二个按钮并通过加载新视频对播放器进行初始化时,出现了故障。 这是我的密码: @RequiresApi(api = Build.VERSION_CODES.N) private void video() throws IOException { youTubePlayerView.setVisibility(View.VI

我尝试使用一个youTubePlayerView,通过单击不同的按钮加载不同的视频。我将视图序列化并加载视频。这很有效。但是,当我点击第二个按钮并通过加载新视频对播放器进行初始化时,出现了故障。 这是我的密码:

 @RequiresApi(api = Build.VERSION_CODES.N)
        private void video() throws IOException {
            youTubePlayerView.setVisibility(View.VISIBLE);
            try {
                HttpClient client = new DefaultHttpClient(getHttpRequestParams());
                HttpGet getJson = new HttpGet(SERVER_ADRESS + "instruments.json");
                HttpResponse jsonResponse = client.execute(getJson);

                if (200 == jsonResponse.getStatusLine().getStatusCode()) {
                    InputStream inputStream = jsonResponse.getEntity().getContent();
                    String json = IOUtils.toString(inputStream);

                         Instrument[] instrumentsResult = new Gson().fromJson(json, Instrument[].class);
                         instrumentsResult = Arrays.stream(instrumentsResult).filter(x -> x.analysename.equals(instrumentname)).toArray(Instrument[]::new);
                         String youtube = instrumentsResult[0].youtube;

                    Instrument[] instrumentsResult2 = new Gson().fromJson(json, Instrument[].class);
                    instrumentsResult2 = Arrays.stream(instrumentsResult).filter(x -> x.analysename.equals(instrumentname)).toArray(Instrument[]::new);
                    String youtube2 = instrumentsResult2[0].youtube;


                    onInitializedListener = new YouTubePlayer.OnInitializedListener() {
                        @Override
                        public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
                            youTubePlayer.loadVideo(youtube);                        }
                        @Override
                        public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
                            Toast.makeText(getApplicationContext(), "Uuuups", Toast.LENGTH_SHORT).show();
                        }};


                    onInitializedListener2 = new YouTubePlayer.OnInitializedListener() {
                        private YouTubePlayer youTubePlayer;
                        @Override
                        public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean wasRestored) {
                            this.youTubePlayer = youTubePlayer;
                            if (!wasRestored)  youTubePlayer.loadVideo(youtube2);}

                        @Override
                        public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
                            Toast.makeText(getApplicationContext(), "Uuuups", Toast.LENGTH_SHORT).show();
                        }};


                    button.setOnClickListener(new View.OnClickListener() {

                        @Override
                        public void onClick(View v) {

                            youTubePlayerView.initialize("fdhgdfjhfjghfjhgjgfhjfghj", onInitializedListener);
                     }});

                        button2.setOnClickListener(new View.OnClickListener() {

                            @Override
                            public void onClick(View view) {


                                    youTubePlayer.release();
                                    youTubePlayerView.initialize("fdhgdfjhfjghfjhgjgfhjfghj", onInitializedListener2);                     }
                });};


            } catch (IOException e) {
                e.printStackTrace();
            } catch (UnsupportedOperationException e) {
                e.printStackTrace();
            } catch (JsonSyntaxException e) {
                e.printStackTrace();           }  }
应用程序停止并显示

java.lang.NullPointerException:尝试调用接口方法 上的“void com.google.android.youtube.player.YouTubePlayer.release()” 空对象引用

你有什么想法吗

谢谢大家!