当前位置:首页 > 实用技巧 >

为什么x5内核加载失败(内核加载失败解决办法)

来源:原点资讯(m.360kss.com)时间:2023-06-12 09:22:25作者:YD166手机阅读>>

TBS视频播放

TBS视频播放器可以支持市面上几乎所有的视频格式,包括mp4, flv, avi, 3gp, webm, ts, ogv, m3u8, asf, wmv, rm, rmvb, mov, mkv等18种视频格式。同时支持硬件解码,使得内存占用,稳定性相较于系统播放器都更优。

接入TBS

1.导入jar文件和so文件

官网SDK下载地址:https://x5.tencent.com/tbs/sdk.html,示例中有jar文件和so文件,具体导入方式我上一篇文章有详细介绍(Android应用内展示office文件–腾讯浏览服务(TBS))

2.初始化Application

自定义一个Application类,对X5内核进行初始化

public class MyAppliction extends Application { @Override public void onCreate() { super.onCreate(); //回调接口初始化完成接口回调 QbSdk.PreInitCallback pcb=new QbSdk.PreInitCallback() { @Override public void onCoreInitFinished() { } @Override public void onViewInitFinished(boolean b) { //x5內核初始化完成的回调,为true表示x5内核加载成功,否则表示x5内核加载失败,会自动切换到系统内核。 Log.e("myApplication", " x5内核加载成功?" b); } }; //x5内核预加载,异步初始化x5 webview所需环境 QbSdk.initX5Environment(getApplicationContext(), pcb); } }

 在AndroidManifest.xml进行声明

<application android:name="com.example.xch.tbsvideoplay.MyAppliction"

3.使用

直接在清单文件AndroidManifest.xml中配置SDK中的视频播放activity

<activity android:name="com.tencent.smtt.sdk.VideoActivity" android:alwaysRetainTaskState="true" android:configChanges="orientation|screenSize|keyboardHidden" android:exported="false" android:launchMode="singleTask"> <intent-filter> <action android:name="com.tencent.smtt.tbs.video.PLAY" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>

在代码中直接调用TbsVideo.openVideo()播放

/** * 直接调用播放视频 * @param videoUrl 视频地址 */ private void startPlay(String videoUrl){ //判断当前是否可用 if(TbsVideo.canUseTbsPlayer(getApplicationContext())){ //播放视频 TbsVideo.openVideo(getApplicationContext(), videoUrl); } }

4.添加权限

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.READ_SETTINGS" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <!-- 硬件加速对X5视频播放有利,建议开启 --> <uses-permission android:name="android.permission.GET_TASKS" />

效果图

为什么x5内核加载失败,内核加载失败解决办法(1)

优化

先看一下优化之后的效果

为什么x5内核加载失败,内核加载失败解决办法(2)

为什么x5内核加载失败,内核加载失败解决办法(3)

自定义TBS的WebView,充分发挥X5内核的作用

1.自定义webview

需继承TBS的webview,包一定不能导错:com.tencent.smtt.sdk.WebView

public class X5WebView extends WebView { private WebViewClient client = new WebViewClient() { /** * 防止加载网页时调起系统浏览器 */ public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }; @SuppressLint("SetJavaScriptEnabled") public X5WebView(Context arg0, AttributeSet arg1) { super(arg0, arg1); this.setWebViewClient(client); initWebViewSettings(); this.getView().setClickable(true); } /** * 初始化webview设置 */ private void initWebViewSettings() { WebSettings webSetting = this.getSettings(); ... } /** * 这里可以为自定义webview绘制背景或文字 * @param canvas * @param child * @param drawingTime * @return */ @Override protected boolean drawChild(Canvas canvas, View child, long drawingTime) { boolean ret = super.drawChild(canvas, child, drawingTime); canvas.save(); ... return ret; } public X5WebView(Context arg0) { super(arg0); setBackgroundColor(85621); } }

2.布局中使用自定义WebView

<com.example.xch.tbsvideoplay.tools.X5WebView android:id="@ id/x5_webview" android:layout_width="match_parent" android:layout_height="200dp" android:scrollbars="none" />

ps:自定义WebView路径使用自己的包名

3.使用自定义WebView播放视频

/** * 使用自定义webview播放视频 * @param vedioUrl 视频地址 */ private void startPlay(String vedioUrl) { x5webView.loadUrl(vedioUrl); getWindow().setFormat(PixelFormat.TRANSLUCENT); x5webView.getView().setOverScrollMode(View.OVER_SCROLL_ALWAYS); x5webView.setWebChromeClient(new WebChromeClient()); }

4.支持横竖屏切换

在AndroidManifest.xml中给当前Activity配置configChanges属性

<activity android:name="com.example.xch.tbsvideoplay.VideoPlayActivity" android:configChanges="orientation|screenSize|keyboardHidden"/>

源码已上传至GitHub,需要的可以下载:https://github.com/yangxch/TBSVideoPlay

栏目热文

无法安装x5内核(安卓x5内核安装包下载)

无法安装x5内核(安卓x5内核安装包下载)

RTS 在阿里云视频直播的基础上进行底层技术优化,通过集成阿里云播放器 SDK,支持在千万级并发场景下节点间毫秒级延时直...

2023-06-12 09:09:28查看全文 >>

x5预置效果是什么意思(x5音效设置怎么调最佳)

x5预置效果是什么意思(x5音效设置怎么调最佳)

  对于摄影发烧友来说,有三大必备法宝值得用一生去追求,那就是专业镜头、好的拍摄场景和功能强大的后期图片处理软件,所以说...

2023-06-12 08:53:25查看全文 >>

x5内核与cw内核哪个好(为什么要关闭x5内核)

x5内核与cw内核哪个好(为什么要关闭x5内核)

作者:billpchen,腾讯看点前端开发工程师译者:编译青春转发链接:HTTPS://mp.weixin.qq.com...

2023-06-12 09:31:35查看全文 >>

安装x5内核教程(安卓x5内核安装包下载)

安装x5内核教程(安卓x5内核安装包下载)

“事儿哥”每次给大家分享实用的小工具,都有一种众口难调的感觉!今天分享了看影视的app,留言中就有小伙伴想要看小说的,...

2023-06-12 09:05:32查看全文 >>

为什么要关闭x5内核(x5内核加载失败修复步骤)

为什么要关闭x5内核(x5内核加载失败修复步骤)

说起微信,大家肯定不会陌生吧,作为用户数量已达11亿的移动社交工具,微信已经成为从最初的即时通讯App到现在覆盖通讯、社...

2023-06-12 09:07:16查看全文 >>

x5内核没了会怎样(x5内核初始化失败怎么解决)

x5内核没了会怎样(x5内核初始化失败怎么解决)

从 iOS 13 的深色外观到 Android 10 的深色主题,似乎是延续了去年对「数字健康」这一话题的思考,如何将界...

2023-06-12 09:32:58查看全文 >>

为什么不支持x5内核(x5内核加载失败修复步骤)

为什么不支持x5内核(x5内核加载失败修复步骤)

一. 序事情是这样的,前几天收到 Google Play 的通知邮件,这才想起来有几款在 Google Play 上架的...

2023-06-12 08:58:57查看全文 >>

x5内核适应安卓哪个版本

x5内核适应安卓哪个版本

2015 年 HTTP/2 标准发表后,大多数主流浏览器也于当年年底支持该标准。此后,凭借着多路复用、头部压缩、服务器推...

2023-06-12 09:14:08查看全文 >>

怎么用x5内核设置全屏(游戏用x5内核打开很慢该怎么办)

怎么用x5内核设置全屏(游戏用x5内核打开很慢该怎么办)

随着网络提速和手机性能的提升,移动端页面中出现视频内容的频率越来越高。HTML5 通过 video 标签来支持嵌入式的媒...

2023-06-12 09:07:48查看全文 >>

名校同步课堂直播在哪个台(名校同步课堂怎么收看直播)

名校同步课堂直播在哪个台(名校同步课堂怎么收看直播)

紧 急 声 明 根据河南省教育厅 河南广播电视台 河南广电传媒控股集团有限责任公司《关于做好名校同步课堂收看工作的紧急通...

2023-06-12 09:32:51查看全文 >>

文档排行