每当我尝试在我的应用中打开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。
答案 0 :(得分:1)
我遇到了同样的问题,这是由于设备中的互联网连接已关闭 因此解决方案是将设备连接到互联网
答案 1 :(得分:0)
我现在遇到了同样的问题,我可以通过删除所有可能的叠加视图来解决它。 我有一个FAB刚好贴在youtube片段上。将FAB移开后,错误已修复。
答案 2 :(得分:0)
在片段开始时,尝试使用youTubePlayer.loadVideo(" ")
代替youTubePlayer.cueVideo(" ")
自动播放视频。
根据{{3}},如果您使用cueVideo()
函数,则需要调用play()
,否则它不会下载任何视频流。而loadVideo()
会自动播放视频。
答案 3 :(得分:0)
我尝试了@PeterOla 的答案,它工作了一段时间,但过了一段时间,错误又回来了,经过数小时的努力,我发现我只需要解析 youTubePlayer 中的关键 url(没有 youtube/)。 cueVideo(""),它对我来说效果很好。