最近项目中接入了腾讯X5SDK用于展示H5与原生交互 有一个需求是在线播放H5中的视频且能全屏
原本是按照Demo中的代码写的。也没发现什么问题 但是发现一点击全屏播放的按钮 视频就卡死了。
网上搜了良久 也未发现问题所在 找到大半夜 终于在腾讯接入问题中发现了点东西 ...
发生问题之前的代码是这么写的
mWebView = new X5WebView(App.getContext(), null);
mViewParent.addView(mWebView, new FrameLayout.LayoutParams(
FrameLayout.LayoutParams.FILL_PARENT,
FrameLayout.LayoutParams.FILL_PARENT));
文档中是这么说的...
要实现全屏播放的两个条件
A Context必须是Activity类型的Context
B 在清单文件中声明属性
而我写的代码是
就因为这个蛋疼的原因 浪费了我大半天的时间...
关于全屏播放 可以在播放之前设置
if (web.getX5WebViewExtension() != null) {
Toast.makeText(this, "页面内全屏播放模式", Toast.LENGTH_LONG).show();
Bundle data = new Bundle();
data.putBoolean("standardFullScreen", false);// true表示标准全屏,会调起onShowCustomView(),false表示X5全屏;不设置默认false,
data.putBoolean("supportLiteWnd", false);// false:关闭小窗;true:开启小窗;不设置默认true,
data.putInt("DefaultVideoScreen", 1);// 1:以页面内开始播放,2:以全屏开始播放;不设置默认:1
web.getX5WebViewExtension().invokeMiscMethod("setVideoParams",
data);
}
这一点文档上介绍的很清楚
希望这篇文章能帮你节省些时间