最近项目中接入了腾讯X5SDK用于展示H5与原生交互 有一个需求是在线播放H5中的视频且能全屏

原本是按照Demo中的代码写的。也没发现什么问题 但是发现一点击全屏播放的按钮 视频就卡死了。

网上搜了良久 也未发现问题所在 找到大半夜 终于在腾讯接入问题中发现了点东西 ...

发生问题之前的代码是这么写的

mWebView = new X5WebView(App.getContext(), null);

mViewParent.addView(mWebView, new FrameLayout.LayoutParams(

FrameLayout.LayoutParams.FILL_PARENT,

FrameLayout.LayoutParams.FILL_PARENT));

文档中是这么说的...

ac803bba5db2

image.png

要实现全屏播放的两个条件

A Context必须是Activity类型的Context

B 在清单文件中声明属性

而我写的代码是

ac803bba5db2

image.png

就因为这个蛋疼的原因 浪费了我大半天的时间...

关于全屏播放 可以在播放之前设置

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);

}

这一点文档上介绍的很清楚

希望这篇文章能帮你节省些时间

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐