2022.05
「融合通信常见问题」将在每月与大家见面,该月刊主要包括错题集、知识加油站、技术加餐三大板块,汇集实践过程中的易错问题和解题思路,分享融合通信领域的前沿资讯和技术干货,为您的开发提效加速,为您的进阶之路添砖加瓦。
本期内容概览
看这里!别人踩过的坑快避开
1. 共享屏幕之后,其他端看到的共享内容帧率比较低,一直会卡顿,特别是在共享视频内容的时候更明显
2. 小程序端在只开启摄像头的前提下,多次关开摄像头,最后的行为是开启摄像头,这个时候其他端可以看到小程序的视频流,而远端小程序看不到
3. IOS 端加入房间听不到远端声音,自己说话远端也听不到
4. 报错服务端针对 IM 消息,进行拦截并设置扩展字段,客户端消息发送端获取不到该扩展字段
5. 命中反垃圾之后,message 对象的反垃圾结果为 null
这些知识点你知道吗?
1. Web 端在 H5 平台有哪些接口限制?
2. 安全模式和调试模式,有什么区别?
这些干货也不容错过!
1. 沉浸式体验网易云信在线 KTV
2. 这么好用的低延时直播,网易云信竟然将它开源了?!
3. Electron 插件开发实践
4. 超低延迟传输网络架构在元宇宙场景的应用
5. 20 万字《网易智企技术合辑》重磅发布
01.
错题集|
■ 音视频通话
疑难问题 1:
共享屏幕之后,其他端看到的共享内容帧率比较低,一直会卡顿,特别是在共享视频内容的时候更明显。
易错等级:⭐⭐⭐⭐
错题原因:
设备性能不足,并且编码策略选择了细节模式导致。
解题思路:
建议在共享文档等静态内容分享场景中默认使用细节模式编码、帧率 5 帧的方式;
当需要共享视频等动态场景时,通过选项去切换成动画模式编码、高帧率(15~30 帧)方式;
疑难问题 2:
小程序端只开启摄像头的前提下,多次关开摄像头,最后的行为是开启摄像头,这个时候其他端可以看到小程序的视频流,而远端小程序看不到。
易错等级:⭐⭐⭐
错题原因:
用户关闭再开启摄像头时,客户并没有重新发起推流,而是复用了之前的连接发流,小程序网关没有感知到这个变化导致没有及时通知远端小程序收流。
解题思路:
建议用户在只开启摄像头的前提下,unpub 视频的时候把 live-pusher 清除掉(建议同时清除 xml 页面上的 live-pusher 组件),然后再 pub 视频的时候,再重新创建 live-pusher 组件去重新推流(只开启麦克风也是建议同样操作)。
疑难问题 3:
IOS 端加入房间听不到远端声音,自己说话远端也听不到。
易错等级:⭐⭐⭐
错题原因:
用户在加入房间后调用了 audioSession setActive:NO 导致。
解题思路:
建议用户在音视频通话过程中不要对 audioSession 做相关操作(如果做了需要及时恢复之前的状态),避免影响音频的正常体验。
■ IM 即时通讯
疑难问题 4:
服务端针对 IM 消息,进行拦截并设置扩展字段,客户端消息发送端获取不到该扩展字段。
易错等级:⭐⭐⭐
错题原因:
只有服务端 responseCode 返回 200 的时候,客户端才会读取 callbackExt 的内容。
解题思路:
服务端 responseCode 设置为 200,其他信息以 json 的形式放在 callbackExt 中。
客户端不能在消息发送回调中获取,需要在消息状态变化回调中才能获取到 callbackExt 字段的内容。
疑难问题 5:
命中反垃圾之后,message 对象的反垃圾结果为 null。
易错等级:⭐⭐⭐
错题原因:
反垃圾必须要是 V5 以上版本才会有该字段
解题思路:
联系商务确认当前使用的反垃圾版本是不是 V5 以上版本,如果不是让商务后台修改。
客户端从 8.7.0 版本开始支持发垃圾结果查询
Android:
IMMessage#getYidunAntiSpamRes,获取时机的回调为observeMsgStatus。
IOS:
NIMMessage#yidunAntiSpamRes,获取时机的回调为sendMessage:didCompleteWithError
往期错题集:
音视频通话错题集:https://doc.yunxin.163.com/docs/jcyOTA0ODM/DIyNjU3NDg?platformId=50002
IM 错题集:https://doc.yunxin.163.com/docs/TM5MzM5Njk/jA5MzI4NjU?platformId=60002
02.
知识加油站|
1. Web 端在 H5 平台有哪些接口限制?
Web 端 NERTC SDK 在 H5 平台不支持以下 API:
不支持以下伴音相关 API:
startAudioMixing、stopAudioMixing、pauseAudioMixing、resumeAudioMixing、adjustAudioMixingVolume、getAudioMixingDuration。
如果您调用了以上 API,SDK 会报错 BROWSER_NOT_SUPPORT。
不支持以下客户端录制功能相关 API:
startMediaRecording、stopMediaRecording、playMediaRecording、listMediaRecording、cleanMediaRecording、downloadMediaRecording。
如果您调用了以上 API,SDK 会报错 RecordBrowserNotSupport。
不支持设置麦克风采集音量(setCaptureVolume)。
2. 安全模式和调试模式,有什么区别?
安全模式:客户端需要 AppKey 和 token 来完成认证进行实时通话。其中 token 需要第三方服务器从云信服务器获取。
调试模式:客户端只需要 AppKey 即可完成认证进行实时通话,这种情况下用户需要保管好 AppKey,防止泄露,默认情况下调试模式处于关闭状态,如需开启,请在控制台中将指定应用的鉴权方式设置为调试模式。
03.
技术加餐|
点击文章名称即可跳转
1. 沉浸式体验网易云信在线 KTV
内容概述:在防疫常态化的当下,越来越多的线下娱乐活动被线上产品所取代。线上 KTV 受到了众多用户的喜欢,但要达到线下 KTV 式的沉浸式体验,提供音频体验的厂商们还面对诸多的挑战,尤其是在实时合唱方面,还有许多技术难题需要解决。基于网易云信的实践经验,分享网易云信在实时合唱技术方面所做的努力以及现有成果。
2. 这么好用的低延时直播,网易云信竟然将它开源了?!
内容概述:网易智企发布了“易+”开源计划,并正式开源网易会议组件,帮助各行各业用户构建稳定可靠、高清易用的专属会议系统。
3. Electron 插件开发实践
内容概述:Electron 是以 Nodejs 和 Chromium 为内核的跨平台开发框架。结合网易云信的实践经验,对 js 和 C++ 混合编程在 Electron 桌面程序中的应用进行介绍。
4. 超低延迟传输网络架构在元宇宙场景的应用
内容概述:元宇宙如今已成为全球科技业的下一个风口。在元宇宙琳琅满目的各种应用场景中,无论是如电影《头号玩家》中的那种体感交互设备,还是医生利用 VR 医疗,远程做手术,元宇宙强交互的基础是数据的低延迟传输和同步。本文将介绍网易云信解决全球数据低延迟交互问题的方案。
5. 20万字《网易智企技术合辑》重磅发布
内容概述:网易智企精心挑选 51 篇技术文章,集结成 20 万字的《网易智企技术合辑》,免费送给每一位开发者!
END
「云信小课堂」推荐阅读
接入指南
音视频通话 | 构建本土「Clubhouse」
安卓端 PK 连麦 | iOS 端 PK 连麦
在线聊天室 | 聊天室内容审核
利用 UI 组件实现应用级别在线聊天室
协同办公系统 | 音视频安全检测
关于网易云信
网易云信是集网易 20 余年 IM 以及音视频技术打造的融合通信云服务专家,稳定易用的通信与视频 PaaS 平台。
提供融合通信与视频的核心能力与组件,包含 IM 即时通讯、5G 消息平台、一键登录、信令、短信与号码隐私保护等通信服务,音视频通话、直播、点播、互动直播与互动白板等音视频服务,视频会议等组件服务。
网易云信服务于网易云音乐、好未来、新东方、科大讯飞、南京银行等各行各业客户。