问题描述: 当在DialogFragment中使用Iframe嵌入Youtube视频时,视频显示为黑屏,而在Webview中只播放音频。
解决方案:
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setMediaPlaybackRequiresUserGesture(false);
其中,setJavaScriptEnabled(true)
允许Webview执行JavaScript代码,setMediaPlaybackRequiresUserGesture(false)
允许自动播放视频。
String videoUrl = "https://www.youtube.com/embed/{VIDEO_ID}";
webView.loadDataWithBaseURL(null, "<iframe width=\"100%\" height=\"100%\" src=\"" + videoUrl + "\" frameborder=\"0\" allowfullscreen></iframe>", "text/html", "utf-8", null);
其中,{VIDEO_ID}
是你要嵌入的Youtube视频的ID。
String videoUrl = "https://www.youtube.com/watch?v={VIDEO_ID}";
String apiKey = "YOUR_API_KEY";
webView.loadDataWithBaseURL(null, "<iframe width=\"100%\" height=\"100%\" src=\"https://www.youtube.com/embed/" + videoUrl + "?autoplay=1&enablejsapi=1&origin={YOUR_ORIGIN}&key=" + apiKey + "\" frameborder=\"0\" allowfullscreen></iframe>", "text/html", "utf-8", null);
其中,{VIDEO_ID}
是你要嵌入的Youtube视频的ID,YOUR_API_KEY
是你在腾讯云上获取到的API密钥,{YOUR_ORIGIN}
是你的应用程序的起源URL。
推荐的腾讯云相关产品:
请注意,以上推荐的腾讯云产品仅供参考,具体选择应根据实际需求进行。
领取专属 10元无门槛券
手把手带您无忧上云