关于web:集成融云-Web-音视频通话踩坑之旅

11次阅读

共计 1651 个字符,预计需要花费 5 分钟才能阅读完成。

集成融云 Web 音视频通话踩坑之旅

前言

最近有个我的项目须要应用的融云的 CallLib SDK 实现相似微信的视频通话,所以在我的项目还未正式启动的时候,我曾经偷偷的开始进行集成了,免得到时候不熟一顿加班那真的欲哭无泪了,好消息就是我曾经应用过融云家的 IMLib SDK 做过即时通讯的性能,所以整个注册流程和开发者后盾的应用曾经比拟熟了,当然,即时不熟也没关系,跟着他们的文档一步一步来,也能很快的就上手了。
融云官网:https://www.rongcloud.cn/

上面是集成的时候碰到的一些须要留神的问题:

1、Web 站点必须为 localhost 或 https
2、必须胜利连贯 IM 后, 才可进行 CallLib 通话
3、新版谷歌浏览器(86 版本)会报错,我集成的 RTC 版本是 3.2.3
4、音视频通话接通不了

综上问题,我会逐个解答,对于具体的集成能够间接参考:https://docs.rongcloud.cn/v4/views/rtc/call/noui/quick/web.html

还有具体的 demo 也能够参考一下 https://github.com/rongcloud-snippets/web-call-quickstart

Web 站点必须为 localhost 或 https:
这个是融云的应用音视频通话的前置条件,原本在本地调试的时候好好的,可是公布到线上的时候就不能用了,最初提交工单询问融云的技术人员上线是否还须要配置什么,最初排查一圈发现 生产环境应用的站点是 http(欲哭无泪。。。),童鞋们引以为戒啊!!

必须胜利连贯 IM 后, 才可进行 CallLib 通话:
间接看代码:

// appKey 可在融云开发者后盾获取
const im = RongIMLib.init({appkey: '<your-appkey>'})
// 增加事件监听器
im.watch({
  // 连贯状态监听
  status(evt) {console.log('连贯状态码:', evt.status);
  },
  // 音讯监听
  message(evt) {console.log('收到新音讯:', evt.message);
  }
})
// CallLib 初始化
var config = {
    timeout: 20000,
    RongIMLib: RongIMLib,
    RongRTC: RongRTC
};
rongCallLib = RongCallLib.init(config);

//token 可从开发者后盾获取 或 Server API
const token = ''
im.connect({token}).then(user => {console.log('链接胜利, 链接用户 id 为:', user.id);
}).catch(error => {console.log('链接失败:', error.code, error.msg);
});

新版谷歌浏览器会报错:
因为浏览器更新,导致 SDK 须要降级,降级到最新版本的 RTC SDK 下载地址:https://cdn.ronghub.com/RongRTC-3.2.6.min.js
须要留神,如果应用的 SDK 2.X 也须要降级到 2.5.10 以上

音视频通话接通不了:
这种状况我总结剖析了一下几种状况,如下:

代码传参谬误或者书写谬误
这个如同没什么说的,只能怪本人不认真吧!跟着文档来呗

完结通话没有调用挂断办法 hungup
用户被动发动挂断,在 rongCallLib.commandWatch 监听中收到 HungupMessage 音讯,能够调用 rongCallLib.hungup 来挂断通话,不然下次呼叫时会呈现报错,提醒对方正忙

如何辨认挂断起因
HungupMessage 音讯中 reason 字段及 SummaryMessage 音讯中 status 字段都为挂断起因,详情地址参考:https://docs.rongcloud.cn/rtc/calllib/web/code/

因为对音视频的集成也刚开始,还在学习当中。后续随着持续深刻,也会同步音视频相干的集成问题,不便温习记录也心愿能帮到须要的童鞋!!!

正文完
 0