我正在构建一个应用程序,该应用程序依赖于能够在 WebView 中播放 Flash 并在发现一切正常,直到 Flash 视频全屏显示。请求全屏时,屏幕变黑,音频持续约 5 秒。
我最初发现屏幕变白了,但在下面的文章中调整了解决方案,这已经移动了球门柱。 Android ICS 4.0 将 Flash WebView 放入全屏调用 hideAll 方法?
final WebView mWebView = (WebView)findViewById(R.id.webview);
WebSettings webSettings = mWebView.getSettings();
webSettings.setPluginState(WebSettings.PluginState.ON);
webSettings.setJavaScriptEnabled(true);
mWebView.requestFocusFromTouch();
mWebView.setWebViewClient(new WebViewClient());
mWebView.setWebChromeClient(new WebChromeClient(){
public void onShowCustomView(View view, int requestedOrientation, WebChromeClient.CustomViewCallback callback){
super.onShowCustomView(view, callback);
if(Build.VERSION.SDK_INT >=14) {
if (view instanceof FrameLayout) {
mWebView.addView(view, new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT,
Gravity.CENTER));
mWebView.setVisibility(View.VISIBLE);
}
}
}
});
当全屏 Flash 视频开始时,我在 logcat 中看到以下内容。
08-11 15:09:47.435:V/VideoSurfaceView(23871):surfaceCreated
08-11 15:09:47.435: V/VideoSurfaceView(23871):surfaceChanged 格式=842094169,宽度=480,高度=690
以下答案参考了从浏览器实现类似于 BaseUI 类的 onShowCustomView 。有一个非常相似的方法叫做 showCustomView,我试图修改我的代码以添加 BaseUI 类的内容,令人惊讶的是我设法让我的代码编译和运行,但它并没有产生一点点差异。
尝试进入全屏模式android 4.0时Flash播放器崩溃
在此先感谢您的想法和帮助....