FAQ

版本日期备注
FAQ_v1.02020-08-04 
FAQ_v1.12021-02-03 
目录  

 

一、说明

为了用户更加友好和的接入SDK,这里提供一些常见的Q&A,如您遇到其他问题,请提供下面信息的一项或者几项便于开发人员快速查找并定位问题

【问题描述】【SDK版本】、【问题模块】、【复现步骤】、【截图或者录屏】、【日志】

 

二、常见问题

1. 常见集成问题

1.1 找不到maven库

如遇到远端maven库无法下载的问题,请检查根目录的build.gradle中是否已添加maven源

如下所示

1.2 hddownload.jar下载框架

hddownload.jar是离线回放的一个下载工具,不属于SDK相关库,用户可根据需求替换成自己的下载工具

1.3 登录和播放在同一个界面

部分用户在集成的时候需要将登录和播放在同一个界面,而我们的demo只提供了登录和播放在两个界面的场景范例

针对登录和播放在同一个界面的场景,这里只需要关注两个关键点

  1. 方法调用的顺序

    必须在登录的成功回调方法之后初始化播放器界面和其他模块的界面

  1. 注意demo中LivePlayActivity界面onResume()方法

    登录成功并初始化之后,需要调用开始播放方法,同时需要在onResume方法中设置登录成功的标志,如果登录成功才会调用直播开始的逻辑

1.4 安卓 9.0之上网络兼容

目前SDK的数据请求绝大部分都使用了Https的方式,但是还是有少数的Http请求。

为更好的适配Android 9.0之上的设备,建议在AndroidManifest.xml中的Application层添加配置信息:

然后在res的xml文件夹中添加:network_security_config.xml

 

1.5 集成文档的建议

这里介绍一下文档的一个高级设置:文档显示模式 此设置可以设置当前文档的显示模式是'适合窗口'还是‘适合宽度’。 具体的后台操作如下

  1. 两种显示模式适合展示的文档类型

    适合窗口:适用于展示宽大于高或者宽高相差不大的文档,如横版PPT。 适合宽度:适用于展示高度明显大于宽度的文档,如长图及Word文档。 后台设置好'文档显示模式',我们的SDK内部会识别此设置,然后进行不同模式 的展示。

  2. SDK对两种显示模式的支持

    首先SDK内部封装的DocView能自动识别后台的设置,并进行合理的展示。 但是我们也知道,当文档内容属于高度比较大的时候,应使用适应宽度,此时界 面上展示的 文档内容可能不是全部的文档内容,这时候就需要滑动了,这里我 们对DocView做了动态 的设置,提供了DocView.setScrollable(boolean scrollable)方法。 我们推荐在普通布局方式展示时将此设置为true,支持滑动; 大小屏布局方式时设置为 false,就不支持滑动。


 

2. 常见错误

2.1 class not found

具体错误如下

本地引用如果出现class not found 或者so文件异常无故崩溃的问题

  1. 如果是本地引用请查询是否完整导入相关类库和so库
  2. 检查混淆配置是否导致了SDK二次混淆

2.2 x5混淆错误

如果Debug包运行无错误,打Release包后,报X5内核的运行异常,可以参照X5的混淆配置,进一步调整混淆配置: http://res.imtt.qq.com/TES/proguard.zip

2.3 lib包冲突

如果同时引用本公司点播或者小班课的功能,或者用户集成的三方库里lib和我们库相同,出现了lib包冲突的问题,需要根据远程引用冲突问题自查手册进行排查

自查手册:远程引用冲突问题自查手册

2.4 登录直播间失败

解决方案:

  1. 检查权限,参考集成文档
  2. 检查参数,参考集成文档

如权限和参数正确依旧登录不上,请检查DNS是否被拦截

2.5 oom错误

如用户在使用的过程中出现以下错误

请将问题反馈给客服,提供相应的直播信息和回放地址,由SDK开发人员定位解决问题

另外

用户也可通过开启largeHeap的方式增加可申请内存的大小

 


 

3. 升级常见问题

3.1 升级到3.8.0/3.8.1

版本3.8.0首次采用maven集成,如果同时使用本公司点播或者小班课SDK需要注意冲突的问题

3.8.0会出现和点播SDK播放器核心冲突的问题,需使用本地集成或者升级到3.8.1版本

本地集成时请使用播放器版本如下

该冲突已在3.8.1中已解决

集成时使用直播SDK播放器核心即可

3.2 升级到3.9.0

从版本3.9.0开始为了解决录播时录播文档数据很大导致导致离线回放打开较慢的问题,提出该方案优化打开离线回放的打开速度

升级到3.9.0会出现离线回放旧数据无法播放的问题

解决

升级到3.9.1

demo中UnZiper类将SupZipTool.decompressZipDec替换为SupZipTool.decompressZipDecAndSplitFile方法,参数不变

说明

decompressZipDec方法是对ccr文件的解压,方法依旧可用,但无法进行大文件优化

decompressZipDecAndSplitFile方法是在解压之后进行大数据分离,建议使用该方法

3.3 升级到3.9.2

3.9.2版本播放关键帧比较长的视频或者大码率的回放时,会出现可以播放但拖动时一直再转,是由于SDK不支持大码率视频

解决方案:

  1. 降低视频码率
  2. 联系客服使用定制版3.9.2版本,解决大码率问题
  3. 升级到3.9.2之后的版本

4.3 升级到3.11.2/3.11.1

  1. 日志频繁输出xlog找不到

    该版本对部分日志没有过滤,导致日志显示异常,对实际业务无影响,该问题已在3.12.0版本修复

  2. 自定义属性冲突问题 ShapedImageView

    出问题的版本在3.11.0,由于commonLib库中存在有和demo相应的资源,可通过下面的引用方式解决问题

4.4 升级到3.12.0

切换线路的回调功能:DWLiveListener类的onInitFinished(int i, List<QualityInfo> list)方法报错

回调监听里下面方法已删除,该方法无法满足现有场景,故将其删除

并已修改为

需要让用户按照文档监听相应的方法,使用最新的方法

4.5 升级到3.14.0

 


 

4. 常见用户问题

4.1 断网重连,视频无法恢复播放

在3.9.2之前的版本需要用户自己监听网络变化调用DwLive.restartVideo(Surface surface)恢复播放

从3.9.2开始sdk底层自动处理,只有在超时抛出错误之后才不会自动恢复

4.2 如何获取直播间配置信息?

首次进入直播间如何获取直播间配置信息

  1. 监听DWLiveListener.onRoomSettingInfo(SettingInfo info)回调

    SettingInfo 属性信息

  2. 其他信息详见直播对接文档

4.3 如何使用回放记忆播放功能?

说明

3.6.0版本之前无法使用记忆播放功能 3.6.0之后可调用该api(DWLiveReplay)

详细使用方法请见demo

4.4 如何获取随堂测排行榜?

3.9.2之前的调用方式

3.9.2之后调用的方式

4.5 安卓10.0存储权限问题

具体报错信息如下

3.9.1之前版本文件找不到?

说明

该问题分为两种情况 1:先看是否有存储权限 如果没有就去开启权限 2: 是否是运行在android10的设备上

解决方案: 1:如未开启,请开启存储权限 2:如果是android10 设备 如果是 在manifest的application节点添加android:requestLegacyExternalStorage="true",或者升级到3.9.2之后版本 3:sdk初始化的时候 关闭日志采集(不建议)

4.6 视频窗口想做成圆角的或者其他样式?

在视频窗口上添加一个遮罩层

4.7 文档打不开?显示无法打开网页?

请检查手机是否设置了代理

4.8 如何获取直播已经开始时长?

4.9 如何监听播放状态,自定义加载悬浮框?

然后根据监听结果设置相应的状态

4.10 聊天发送和连麦同时操作造成消息丢失?

服务器接收socket消息有限制,需要延时1秒发送消息

4.11 在线回放无setOnBufferingUpdateListener监听?

在sdk3.9.2之前无此监听,3.9.2版本之后添加

4.12 Networkutils内部出现空指针?

sdk升级到3.11.1

4.13 某个回放只显示画笔或者画笔重复的问题

出现时机:同一张ppt在不同的时间段上画上画笔,在往前拖动进度的过程中有一定几率出现画笔重复或者只显示画笔不显示文档的情况,该问题出现在3.10.0之前的版本

解决方案:升级sdk到3.11.1之后版本

4.13 关于某个回放画笔重叠问题

出现时机:同一张ppt在不同的时间段上画上画笔,通过admin进行裁剪并合并的时候出现

解决方案:升级sdk到3.11.1 或者之后版本

4.14 CCBaseActivity找不到?

出现时机:同时集成直播和小班课,并且直播从3.11.0之前的版本升级到3.11.0之后的版本

解决方案:参照小班课的demo(6.20以上)并更新

4.15 文档提示 NoSuchKey

问题描述 直播播放文档的时候提示NoSuchKey,该问题主要在安卓设备上出现的比较多,该问题是由于dp加载图片时,没有找到相应的图片地址

解决方案:

  1. 重新上传文档
  2. 如果重新上传文档无法解决,需要排查服务器故障

4.16 NetworkUtils类报错

问题描述:

  1. NetworkUtils找不到
  2. 空指针,没有传入context

解决方案:

  1. 对于3.14.0版本之前的版本,尽量不要使用SDK里的NetworkUtils类,请自行实现网络状态的检查
  2. 直播:DWLive.setDWLivePlayParams(DWLiveListener dwLiveListener, Context context)方法context传null

 

4.17 3.18.0不使用多人连麦过滤方式

问题描述:

  1. 用户使用3.18.0版本,但是apk体积过大,在不使用多人连麦情况下可以过滤多人连麦的包

解决方案:

  1. 将直播sdk的引入方式改为

     

  2. 初始化sdk的方式改为