gpt4 book ai didi

android - 嵌入了iframe的Youtube视频无法在Android 4.0.3上播放

转载 作者:行者123 更新时间:2023-12-03 06:13:28 28 4
gpt4 key购买 nike

我有在Android的WebView中播放YouTube的代码。
它在新手机(Android 4.4、5.1、6、7操作系统)上运行良好,但是当我在Android 4.0.3上尝试过时,它将打开带有控件的YouTube框架,并在中部单击按钮播放后,会显示灰色背景,时间。

编码:

private void initializeWebView() {    

WebView webView = (WebView) findViewById(R.id.webView);

//webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
webView.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);
webView.setBackgroundColor(getResources().getColor(R.color.semi_transparent_black_20percentage));
webView.getSettings().setBuiltInZoomControls(true);
//webView.getSettings().setDisplayZoomControls(false);

webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
});
WebSettings webSetting = webView.getSettings();
webSetting.setJavaScriptEnabled(true);
webSetting.setDisplayZoomControls(false);

//webSetting.setLoadWithOverviewMode(true);
//webSetting.setUseWideViewPort(true);
int screenWidth = getWindowManager().getDefaultDisplay().getWidth();
webView.setLayoutParams(new RelativeLayout.LayoutParams( screenWidth / 2, LayoutParams.MATCH_PARENT));
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
webView.getSettings().setPluginState(WebSettings.PluginState.ON);
webSetting.setJavaScriptEnabled(true);
webSetting.setBuiltInZoomControls(true);
webSetting.setAllowContentAccess(true);
webSetting.setEnableSmoothTransition(true);
webSetting.setLoadsImagesAutomatically(true);
webSetting.setLoadWithOverviewMode(true);
webSetting.setSupportZoom(false);
webSetting.setUseWideViewPort(true);
webSetting.setAppCacheEnabled(true);
webSetting.setSupportMultipleWindows(true);

webView.setVisibility(View.VISIBLE);
}



public void loadPageIntoWebView(String htmlFilename){

AssetManager mgr = getBaseContext().getAssets();
try {
String htmlContentInStringFormat = "";
WebView webView = (WebView) findViewById(R.id.webView);
String frameVideo = "<body>Video From YouTube<br><iframe width=\"420\" height=\"315\" src=\"https://www.youtube.com/embed/2a7f29Jvihc?wmode=transparent\" frameborder=\"0\" allowtransparency></iframe></body>";
htmlContentInStringFormat = frameVideo;
webView.loadDataWithBaseURL(null, htmlContentInStringFormat, "text/html", "utf-8", null);
} catch (Exception e) {
e.printStackTrace();
}
}

此代码运行良好,并且可以在较新的手机(Android OS4.4-7)上播放YouTube视频。

为了使它也可以在Android 4.0.3上运行,我应该改变什么?

this is the photo showing the gray background without playing youtubevideo after clicking on the button play inthe middle of the screen:

最佳答案

解决了!

添加以下行后,它也适用于Android 4.0.3:

    webView.setWebChromeClient(new WebChromeClient() {});

这不是强制性的,但我在此行之前添加了以下行:
webView.setWebViewClient(new WebViewClient()

希望该解决方案能够帮助其他同事使用Epson Moverio BT-200智能眼镜等。

;-)

关于android - 嵌入了iframe的Youtube视频无法在Android 4.0.3上播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47776925/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com