微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在以编程方式生成的Viewflipper中禁用YoutubePlayerView自动播放

如何解决如何在以编程方式生成的Viewflipper中禁用YoutubePlayerView自动播放

我正在以编程方式创建YoutubePlayerView并将其添加到以编程方式生成的viewflipper。 我的问题是,当生成带有Viewflipper的活动时,YoutubePlayerView会播放加载的视频一秒钟,然后停止。即使它不是viewflipper中的第一个视图,它也会这样做。下面是相关的代码(所有代码都放在一个onCreate方法中):

mOnInitializedListener = new YouTubePlayer.OnInitializedListener() {
                                    @Override
                                    public void onInitializationSuccess(YouTubePlayer.Provider provider,final YouTubePlayer youTubePlayer,boolean b) {
                                        db.collection("Events").document(eventId).get().addOnCompleteListener(
                                                new OnCompleteListener<DocumentSnapshot>() {
                                                    @Override
                                                    public void onComplete(@NonNull Task<DocumentSnapshot> task) {
                                                        if (task.isSuccessful()) {
                                                            DocumentSnapshot document = task.getResult();
                                                            if (document != null) {
                                                                final String youtube_link = document.getString("youtube_URL");
                                                                if (!TextUtils.isEmpty(youtube_link)) {
                                                                    String load = getVideoIdFromYoutubeUrl(
                                                                            youtube_link
                                                                    );
                                                                    youTubePlayer.loadVideo(load);


                                                                }
                                                            }
                                                        } else {
                                                            Toast.makeText(getApplicationContext(),"cannot load video! Try again later!",Toast.LENGTH_SHORT).show();

                                                        }
                                                    }
                                                }
                                        );

                                    }

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

                                    }
                                };

加载到viewflipper上:

                  db.collection("Events").document(eventId).get().addOnCompleteListener(
                                        new OnCompleteListener<DocumentSnapshot>() {
                                            @Override
                                            public void onComplete(@NonNull Task<DocumentSnapshot> task) {
                                                if (task.isSuccessful()) {
                                                    DocumentSnapshot document = task.getResult();
                                                    if (document != null) {
                                                        String youtube_link = document.getString("youtube_URL");
                                                        if (!TextUtils.isEmpty(youtube_link)) {
                                                            viewFlipper.addView(mYoutubePlayerView);
                                                            // viewFlipper.addView(frag);
                                                            mYoutubePlayerView.initialize(YoutubeConfig.getApiKey(),mOnInitializedListener);
                                                        }
                                                    }
                                                } else {
                                                    Toast.makeText(getApplicationContext(),Toast.LENGTH_SHORT).show();

                                                }
                                            }
                                        }
                                );

我在docs中看到cueVideo()在不播放视频的情况下加载了视频,但这并不能解决我的问题。所做的一切就是,当我确实切换到Viewflipper中的YoutubePlayerView时,它并没有自动开始播放。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。