FMUSER更轻松地传输视频和音频!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org ->荷兰语
sq.fmuser.org ->阿尔巴尼亚人
ar.fmuser.org ->阿拉伯语
hy.fmuser.org - >亚美尼亚
az.fmuser.org ->阿塞拜疆
eu.fmuser.org ->巴斯克
be.fmuser.org ->白俄罗斯语
bg.fmuser.org - >保加利亚
ca.fmuser.org ->加泰罗尼亚语
zh-CN.fmuser.org ->中文(简体)
zh-TW.fmuser.org - >中国(繁体)
hr.fmuser.org ->克罗地亚语
cs.fmuser.org ->捷克
da.fmuser.org ->丹麦语
nl.fmuser.org - >荷兰
et.fmuser.org ->爱沙尼亚语
tl.fmuser.org ->菲律宾
fi.fmuser.org ->芬兰语
fr.fmuser.org - >法国
gl.fmuser.org ->加利西亚语
ka.fmuser.org ->乔治亚
de.fmuser.org ->德语
el.fmuser.org - >希腊
ht.fmuser.org ->海地克里奥尔语
iw.fmuser.org ->希伯来语
hi.fmuser.org ->印地语
hu.fmuser.org - >匈牙利
is.fmuser.org ->冰岛语
id.fmuser.org ->印尼语
ga.fmuser.org ->爱尔兰
it.fmuser.org - >意大利
ja.fmuser.org ->日语
ko.fmuser.org ->韩文
lv.fmuser.org ->拉脱维亚
lt.fmuser.org - >立陶宛
mk.fmuser.org ->马其顿语
ms.fmuser.org ->马来语
mt.fmuser.org ->马耳他语
no.fmuser.org - >挪威
fa.fmuser.org ->波斯语
pl.fmuser.org ->波兰语
pt.fmuser.org ->葡萄牙语
ro.fmuser.org - >罗马尼亚
ru.fmuser.org ->俄语
sr.fmuser.org ->塞尔维亚语
sk.fmuser.org ->斯洛伐克
sl.fmuser.org - >斯洛文尼亚
es.fmuser.org ->西班牙语
sw.fmuser.org ->斯瓦希里语
sv.fmuser.org ->瑞典语
th.fmuser.org - >泰国
tr.fmuser.org ->土耳其语
uk.fmuser.org ->乌克兰语
ur.fmuser.org ->乌尔都语
vi.fmuser.org - >越南
cy.fmuser.org ->威尔士语
yi.fmuser.org - >意第绪语
交互式实时广播涉及服务器,教师客户端,iOS / Android学生客户端和Web / Wap学生客户端。 本文重点介绍Maimai的交互过程,前端的Maimai模块设计以及前端的交互和聊天组件设计。 为了实现聊天室本身的聊天功能,因为对Yunxin IM SDK的访问主要是通过Api调用程序包实现的,所以我不再赘述。
在设计系统之前,首先需要考虑以下问题:
•每个端的需求定义和功能划分,每个端如何交互
•双方之间的协议
•客户要求麦克风和老师接收
•客户端进入交互式现场直播室后,交互式信息的同步
有了以上问题,让我们首先整理一下我们可以依靠的服务。 下图显示了网易云提供的以下服务。 结合我们自己的系统要求的设计,我们可以快速集成IM和交互式实时广播的功能。
•Yunxin IM服务提供了一套完整的基本即时消息传递功能,可以将即时消息传递和实时网络功能快速集成到企业自己的应用程序中。
•Yunxin的交互式实时广播功能支持主持人和观众之间的实时交互。
骨架
我们的基本需求主要包括以下三个部分:
1.学生进入App客户端上的聊天室,可以发起小麦请求;
2.在老师方面,您可以批准或拒绝学生的请求;
3.在老师同意学生的要求后,学生可以进入现场直播室进行互动。
结合需求,并整理出以下基本的麦克风请求,连接麦克风和交互过程,如下图所示。 不同样式的数据流表示不同的协议。
以下是一些其他概念:
1.客户端云鑫IM的SDK,客户端通过云鑫IM发送P2P消息给老师
2.客户端互动直播SDK,客户端连接到互动直播
3.老师端的Yunxin SDK,接受p2p消息
4.教师端互动直播SDK,与客户端互动直播
5.网络上的云鑫即时通讯软件开发工具包,收发信息
6.自定义消息,以及两端发送的消息的数据结构
设计与实施
实现本节主要介绍上一节概述中提到的教师客户端和Web / Wap学生客户端的实现。 它主要包括以下部分:流程改进,教师IM模块,Web学生终端模块,配置,优点和存在的问题。
工艺细化
首先,让我们介绍教师端的实现方式,并按下图中的数字顺序对一些细节进行补充说明。 教师端有两个主要部分,一个是本地语言,在本文中称为教师的本地语言,另一个是网页,在本文中称为教师IM。 教师本机和教师IM通过jsbridge和自定义消息进行通信。
首先,整理出教师本机和教师IM之间的jsbridge通信,如下所示:
-notifyQueueChange
-通知卷
-notify自定义消息
-检查更新
-notifyLiveStatus
结合以上流程图,然后对该过程进行详细说明:
1.客户端初始化
两端通过请求服务器获得统一的聊天室地址
2.教师初始化
教师IM初始化后,它通过服务器请求(getPresenterLiveInfo)获得聊天室地址,获得聊天室单例,通知教师本机聊天室已准备好,并获得交互式实时广播数据。
3.邀请小麦的过程
•客户端向教师本机发送一条p2p消息。 教师本机使用jsbridge调用教师IM的notifyCustomMsg,教师IM为它维护的Mai请求更新等待队列。
•教师的IM单击以同意或拒绝,并且通过消息通知教师的本国,并且教师的本国通过P2P通知客户该请求。
•客户端使用交互式直播SDK,将麦克风连接到直播室,并通过交互式直播SDK向本地教师发送消息。
•教师本机调用notifyQueueChange方法以更新教师IM中的列表
•教师IM,异步请求(informServer)更新服务器的上传和下载队列,发送自定义消息(im-sdk),并广播以通知每个客户端。
教师IM模块
结合流程图和上述过程的详细说明,设计并拆分了前端模块,如下图所示。
这里,LivePcChat是Tab中的聊天组件,LiveInteractivePresenter是处理交互操作的组件,而XXcache是封装相应数据层操作的组件。 具体的组件实例,调用,数据请求和处理过程如下图所示:
网络学生模块
对于Web / Wap学生终端,因为Web / Wap学生终端本身尚未开发处女功能。 在此,以网络学生终端为例,以交互列表和聊天交互方式介绍网络/ Wap学生终端的实现。 本身的聊天室部分和教师端的聊天室重用了聊天组件,因此这里也将模块分开。 您可以参考教师端的组件划分,以比较教师端和学生端重用的一些组件。 下图显示了网络学生方面的情况。
从下表的比较中可以看出,除了与应麦相关的处理逻辑之外,还可以重用教师侧和网络学生侧的IM的其他功能。
配置
交互式实况广播是在原始实况广播的基础上进行的迭代,因此在这里我们必须确保交互式实况广播在各种教育产品系列中的可配置性。 这里提到的配置类似于教育公共组件池中其他模块和组件访问的配置。 它还依赖于教育通用组件缓存库,当加载实时页面或项目单页(机构背景)时,该配置将在配置中读取(机构背景)配置,一键配置。
利弊分析
使用这种设计的优点是
1.所有服务器请求均通过网页发送,降低了教师的维护成本;
2.模块的可配置性。 在不同的业务部门中,可以配置它来决定是否连接到交互式直播。
3.组件是颗粒状的。 在不同的模块中,教师端可以访问聊天组件和交互组件,麦克风组件,而学生端只能访问交互列表组件;
4.它在很大程度上取决于现有的Yunxin SDK所执行的功能,这些功能可以在相对较短的时间内满足要求。
该问题
1. Yingmai的过程更加复杂,因为它涉及多个端,并且在每个端进行调试都是浪费时间。 这也是组织本文的目的。 在了解了每个端的过程之后,每个端可以首先在调试过程中定位问题的端,然后可以有针对性地在某个链接中找到问题。
2.由于它是在原始迭代的基础上执行的,因此许多组件没有封装到教育标准组件中,但是在逻辑清晰的前提下,可以在后续迭代中对其进行优化。
3.优化前端实现方法。
总结
通过本文,我们将梳理交互式实时广播每一端的逻辑,以方便以后对交互式实时广播过程的理解。 对于客户和老师,您可以了解前端提供的接口和消息的实现。 如果需要在另一个后续项目中访问交互式实时广播模块,则可以快速对其进行访问和调试,同时可以进一步优化上面提出的现有问题。
|
输入电子邮件以获取惊喜
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org ->荷兰语
sq.fmuser.org ->阿尔巴尼亚人
ar.fmuser.org ->阿拉伯语
hy.fmuser.org - >亚美尼亚
az.fmuser.org ->阿塞拜疆
eu.fmuser.org ->巴斯克
be.fmuser.org ->白俄罗斯语
bg.fmuser.org - >保加利亚
ca.fmuser.org ->加泰罗尼亚语
zh-CN.fmuser.org ->中文(简体)
zh-TW.fmuser.org - >中国(繁体)
hr.fmuser.org ->克罗地亚语
cs.fmuser.org ->捷克
da.fmuser.org ->丹麦语
nl.fmuser.org - >荷兰
et.fmuser.org ->爱沙尼亚语
tl.fmuser.org ->菲律宾
fi.fmuser.org ->芬兰语
fr.fmuser.org - >法国
gl.fmuser.org ->加利西亚语
ka.fmuser.org ->乔治亚
de.fmuser.org ->德语
el.fmuser.org - >希腊
ht.fmuser.org ->海地克里奥尔语
iw.fmuser.org ->希伯来语
hi.fmuser.org ->印地语
hu.fmuser.org - >匈牙利
is.fmuser.org ->冰岛语
id.fmuser.org ->印尼语
ga.fmuser.org ->爱尔兰
it.fmuser.org - >意大利
ja.fmuser.org ->日语
ko.fmuser.org ->韩文
lv.fmuser.org ->拉脱维亚
lt.fmuser.org - >立陶宛
mk.fmuser.org ->马其顿语
ms.fmuser.org ->马来语
mt.fmuser.org ->马耳他语
no.fmuser.org - >挪威
fa.fmuser.org ->波斯语
pl.fmuser.org ->波兰语
pt.fmuser.org ->葡萄牙语
ro.fmuser.org - >罗马尼亚
ru.fmuser.org ->俄语
sr.fmuser.org ->塞尔维亚语
sk.fmuser.org ->斯洛伐克
sl.fmuser.org - >斯洛文尼亚
es.fmuser.org ->西班牙语
sw.fmuser.org ->斯瓦希里语
sv.fmuser.org ->瑞典语
th.fmuser.org - >泰国
tr.fmuser.org ->土耳其语
uk.fmuser.org ->乌克兰语
ur.fmuser.org ->乌尔都语
vi.fmuser.org - >越南
cy.fmuser.org ->威尔士语
yi.fmuser.org - >意第绪语
FMUSER更轻松地传输视频和音频!
联系我们
分类目录
订阅电子邮件