RemoteEmbeddedPlayer不支持嵌入配置吗?

时间:2018-10-31 15:54:10

标签: android youtube-api

每当我尝试在我的应用中打开Youtube播放器时,总是会调用onInitializationSuccess()函数。但它显示空白屏幕。

首先出现此错误:

  

W / YouTubeAndroidPlayerAPI:强制创建了overlay:affq @ 82a17f5 helper:Lazy @ 9b7098a视图:空状态:....... {...}

然后:

  

E / YouTubeAndroidPlayerAPI:RemoteEmbeddedPlayer不支持嵌入配置

这是我的代码:

FragmentManager fragmentManager = ((AppCompatActivity)this.context).getSupportFragmentManager();
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
    Fragment  youtubeFragment = new YouTubePlayerSupportFragment();
    fragmentManager.beginTransaction().add(R.id.GlideLayout ,youtubeFragment).commit();


    utubevw = (YouTubePlayerSupportFragment) youtubeFragment;
    utubecontainer = imageLayout.findViewById(R.id.youtubecontainer);

    utubecontainer.setVisibility(View.VISIBLE);

    mOnInitializeListener = new YouTubePlayer.OnInitializedListener() {
        @Override
        public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
            youTubePlayer.cueVideo("_8kExcHqFi4");
            Log.i("youtube", "Successful");
        }
        @Override
        public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
            Log.i("youtube:Fail", youTubeInitializationResult.toString());
        }
    };
    utubevw.initialize(String.valueOf(R.string.googleapikey), mOnInitializeListener);

在各处搜索,甚至发布在Github中,但找不到解决方案。

仅供参考-我不想使用Webview播放Youtube。

4 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,这是由于设备中的互联网连接已关闭 因此解决方案是将设备连接到互联网

答案 1 :(得分:0)

我现在遇到了同样的问题,我可以通过删除所有可能的叠加视图来解决它。 我有一个FAB刚好贴在youtube片段上。将FAB移开后,错误已修复。

答案 2 :(得分:0)

在片段开始时,尝试使用youTubePlayer.loadVideo(" ")代替youTubePlayer.cueVideo(" ")自动播放视频。 根据{{​​3}},如果您使用cueVideo()函数,则需要调用play(),否则它不会下载任何视频流。而loadVideo()会自动播放视频。

答案 3 :(得分:0)

我尝试了@PeterOla 的答案,它工作了一段时间,但过了一段时间,错误又回来了,经过数小时的努力,我发现我只需要解析 youTubePlayer 中的关键 url(没有 youtube/)。 cueVideo(""),它对我来说效果很好。