Android:在Webview上播放YouTube视频
问题描述:
我在使用WebView播放YouTube视频时遇到问题。整天我都在阅读关于如何做到这一点的问题和答案,但它不起作用。 我已经设定的清单,这是我使用Android:在Webview上播放YouTube视频
mWebview.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
});
mWebview.getSettings().setPluginState(WebSettings.PluginState.ON);
mWebview.setWebChromeClient(new WebChromeClient());
mWebview.getSettings().setJavaScriptEnabled(true);
mWebview.getSettings().setAppCacheEnabled(true);
mWebview.setInitialScale(1);
mWebview.getSettings().setLoadWithOverviewMode(true);
mWebview.getSettings().setUseWideViewPort(true);
//webSettings.setLoadsImagesAutomatically(true);
//webSettings.setSupportZoom(false);
mWebview.loadUrl("https://www.youtube.com/embed/MYVIDEOID");
什么的发生是this我可以点击播放按钮计时开始,但我什么也看不到代码。
编辑: 该问题似乎在模拟器上,而不是在真实的设备上,检查评论的答案。
答
试试这个
String frameVideo = "<html><body>Video From YouTube<br><iframe width=\"420\" height=\"315\" src=\"https://www.youtube.com/embed/47yJ2XCRLZs\" frameborder=\"0\" allowfullscreen></iframe></body></html>";
WebView displayYoutubeVideo = (WebView) findViewById(R.id.mWebView);
displayYoutubeVideo.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
});
WebSettings webSettings = displayYoutubeVideo.getSettings();
webSettings.setJavaScriptEnabled(true);
displayYoutubeVideo.loadData(frameVideo, "text/html", "utf-8");
在manifist文件还设置android:hardwareAccelerated="true"
<application
android:allowBackup="true"
android:hardwareAccelerated="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
</application>
没有发生,像以前一样,我可以点击播放按钮,计时开始移动,但不能看到视频 – justo
做你在你的应用标签中加入了这个android:hardwareAccelerated =“true”' –
当然,还有互联网权限 – justo