后台-营销-SEO-头部优化文字处修改

网站名称

示例图片三
网站首页 > 新闻资讯 > 公司动态

独家详解:直播小程序接入腾讯云SDK实现多人视频通话

2019-03-08 15:08:27 网站名称 阅读

我们可以在微信上搜索直播小程序,就可以加载上我们的演示小程序,您就可以体验和测试多人音视频通话功能,全新的UI设计和加入抖音萌颜功能。APP中我们仅加入四人的视频通话功能,您如果想要更改多人通话,您可以通过修改源代码中的限制参数来调整这个数值,实现更多人通话。

网站关键词

双人视频场景

直播小程不仅仅可用于多人视频场景,也可以用于双人视频通话,而且要比从零开始用<live pusher>和<live player>构建双人视频通话功能要简单的多。

直播小程序双人视频场景和多人视频场景对比

双人音视频仅仅是两个端之间交换URL这么简单,但是到多人通话场景和从双人通话场景相比较,问题的复杂性就迅速增加了。

所以我们可以考虑让Server来协助解决这个问题:

网站关键词

我们可以将房间中的成员都交给Server来管理,由于Server的信息是集中的,因此不会出现信息不一致性的 BUG,只要各个终端在需要的时候从Server同步最新的成员列表到本地(GET LIST)即呵,同时,新成员的加入或者退出,河由Server 完成通知。

为了帮您更好的实现基于Server的解决方案,我们推荐您使用RTCRoom解决方案:

<h2 id= "RTCROOM"> RTCROOM </h2>

RTCRoom (RealTime ChatRoom)存在的意义在于封装双人或者多人音视频实现过程中需要考虑的各种细节逻辑问题,比如房间管理、状态同步,消息收发等等,让您只需要面对几个非常简单的接口,从而快速构建自己的音视频能力。

原理解读

Client

RTCRoom的Client部分(小程序上的RTCRoom是一个叫做 rtcroomjs 的javascript文件)提供了一 组API接口:CreateRoom创建一个双人 (或多人)视频通话房间,调用这个接口的人即为创建者。EnterRoom

进入一个已经创建好的视频通话房间,调用这个接口的人即为参与者。

ExitRoom退出一个视频通话房间,在我们的默认实现中,如果是创建者退出,房间将被解散,您可以根据自己的需要进行调整。

SendTxtMsg

发送文本消息,肝作为视频交流的辅助手段,通常是用来发送一些不重要的系统通知。

直播小程序的限制

由于直播小程序是严格遵循数据驱动的设计理念,所以不支持动态创建<live-pusher> 和<live-player>对象因此我们还无法做到让您无需关心这两个标签而直接使用RTCRoom,因此小程序端的Demo代码要比ios、Android 以及Win平台要复杂一点点。

Server

列表管理RTCRoom的Server部分是一组用于房间列表管理和成员列表管理的简单代码实现。以视频会议为例,一个公司同时可能会有多个进行中的视频会议,那么每个会议都是一个房间, 每一个房间里又有多个与会者。所以对于房间的管理和对于房间中成员的管理就是Server部分的工作。

直播小程序事件通知

同时,Server还有一个重要职责, 就是当房间解散以及成员进出时,通过IM消息通道通知房间里的各个成员。由于腾讯云已经有非常成熟的IM通讯解决方案,所以我们直接复用腾讯云IM实现房间内各成员的状态通知。

心跳机制除了音视频链路,小程序和Server之间最好还要加一个心跳机制,这种方式用于甄别微信是否发生了意外崩溃,您也可以使用腾讯云音视频链路的中断通知来达到同样效果,但是接入复杂性要高很多。源码下载RTCRoom是一套开源实现,在ioS, Android, Windows、 小程序以及服务器端均有一示例源码。其中客户端的源码主要是提供CreateRoom、EnterRoom、 ExitRoom 等进出房间的接口,而服务端源码则用于房间管理,并通过腾讯云通讯(IM) 服务向房间内成员发送事件通知。操作系统下载链接源码位置小程序DOWALOAD小程序源码zip包中的wxlite文件夹服务端DOWALOAD小程序源码zip包中的server文件夹iOSDOWALOADSDK开发包RtcRoom.mAndroi开发包RtcRoom.javaWindowsDOWALOADDemo源码中的RTCRoom.h+ RTCRoom.cpp


Powered by MetInfo 6.0.0 ©2008-2019 www.MetInfo.cn