【发布时间】:2019-03-06 07:54:15
【问题描述】:
问题
我正在 React Native 应用程序中运行自定义版本的 Cordova WebView。在网站中,有一个嵌入视频,例如来自 YouTube、我的 CDN 等,它被包裹在一个 <iframe> 标记中。当我点击全屏时,屏幕变黑了,我只听到音频播放。
我的尝试
我已经尝试过很多关于 StackOverflow 的建议,例如:
android:hardwareAccelerated=true- 实现了自定义
onShowCustomView和onHideCustomView:
@Override
public void onShowCustomView(View v, WebChromeClient.CustomViewCallback cb) {
if (mVideoView != null) {
cb.onCustomViewHidden();
} else {
FrameLayout f = (FrameLayout) v;
mVideoView = v;
mWebView.setVisibility(View.GONE);
f.getChildAt(0).setFocusable(true);
mCustomView = new FrameLayout(mWebView.getContext());
mCustomView.setVisibility(View.VISIBLE);
mCustomView.addView(mVideoView);
getWebViewParent().addView(mCustomView, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
mVideoCallback = cb;
}
}
@Override
public void onHideCustomView() {
super.onHideCustomView();
if (mVideoView == null) {
return;
}
mWebView.setVisibility(View.VISIBLE);
mCustomView.setVisibility(View.GONE);
mVideoView.setVisibility(View.GONE);
mCustomView.removeView(mVideoView);
getWebViewParent().removeView(mCustomView);
mVideoCallback.onCustomViewHidden();
mVideoView = null;
}
问题
问题没有解决,似乎没有任何改变。以下调试器上的堆栈跟踪表明:
- 参数View v 的(唯一)子项未聚焦
- video view的class是FullScreenView,属于Android chromium。
解决此问题的建议解决方案是什么?谢谢。
【问题讨论】: