FMUSER Wirless Transmit Video And Audio More Easier !
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org ->Afrikaans
sq.fmuser.org ->Albanian
ar.fmuser.org ->Arabic
hy.fmuser.org ->Armenian
az.fmuser.org ->Azerbaijani
eu.fmuser.org ->Basque
be.fmuser.org ->Belarusian
bg.fmuser.org ->Bulgarian
ca.fmuser.org ->Catalan
zh-CN.fmuser.org ->Chinese (Simplified)
zh-TW.fmuser.org ->Chinese (Traditional)
hr.fmuser.org ->Croatian
cs.fmuser.org ->Czech
da.fmuser.org ->Danish
nl.fmuser.org ->Dutch
et.fmuser.org ->Estonian
tl.fmuser.org ->Filipino
fi.fmuser.org ->Finnish
fr.fmuser.org ->French
gl.fmuser.org ->Galician
ka.fmuser.org ->Georgian
de.fmuser.org ->German
el.fmuser.org ->Greek
ht.fmuser.org ->Haitian Creole
iw.fmuser.org ->Hebrew
hi.fmuser.org ->Hindi
hu.fmuser.org ->Hungarian
is.fmuser.org ->Icelandic
id.fmuser.org ->Indonesian
ga.fmuser.org ->Irish
it.fmuser.org ->Italian
ja.fmuser.org ->Japanese
ko.fmuser.org ->Korean
lv.fmuser.org ->Latvian
lt.fmuser.org ->Lithuanian
mk.fmuser.org ->Macedonian
ms.fmuser.org ->Malay
mt.fmuser.org ->Maltese
no.fmuser.org ->Norwegian
fa.fmuser.org ->Persian
pl.fmuser.org ->Polish
pt.fmuser.org ->Portuguese
ro.fmuser.org ->Romanian
ru.fmuser.org ->Russian
sr.fmuser.org ->Serbian
sk.fmuser.org ->Slovak
sl.fmuser.org ->Slovenian
es.fmuser.org ->Spanish
sw.fmuser.org ->Swahili
sv.fmuser.org ->Swedish
th.fmuser.org ->Thai
tr.fmuser.org ->Turkish
uk.fmuser.org ->Ukrainian
ur.fmuser.org ->Urdu
vi.fmuser.org ->Vietnamese
cy.fmuser.org ->Welsh
yi.fmuser.org ->Yiddish
The interactive live broadcast involves the server, teacher client, iOS/Android student client, and Web/Wap student client. This article focuses on the interaction process of Maimai, the design of Maimai module on the front-end, and the design of interactive and chat components on the front-end. For the realization of the chat function of the chat room itself, because the access to the Yunxin IM SDK is mainly realized through the Api call package, I will not go into details.
Before designing the system, first need to consider the following questions:
• Requirements definition and function division of each end, how each end interacts
• Agreement between each end
• The client asks the microphone and the teacher to receive
• Synchronization of interactive information after the client enters the interactive live broadcast room
With the above questions, let's first sort out the services that we can rely on. The following services provided by NetEase Cloud are shown in the figure below. Combined with the design of our own system requirements, we can quickly integrate the functions of IM and interactive live broadcast.
• Yunxin IM service provides a complete set of basic instant messaging capabilities, which can quickly integrate instant messaging and real-time network capabilities into the enterprise's own applications.
• Yunxin’s interactive live broadcast function supports real-time interaction between the host and the audience.
Framework
Our basic needs are mainly the following three parts:
1. Students enter the chat room on the App client, and can initiate a request for wheat;
2. On the teacher's side, you can approve or reject the student's request;
3. After the teacher agrees to a student’s request, the student can enter the live broadcast room to interact.
Combine the requirements and sort out the following basic microphone request, connection microphone, and interactive processes, as shown in the figure below. Different styles of data flow represent different agreements.
Here are some additional concepts:
1. The SDK of the client Yunxin IM, the client sends P2P messages to the teacher through Yunxin IM
2. Client interactive live broadcast SDK, client connects to interactive live broadcast
3. Yunxin SDK on the teacher end, accept p2p messages
4. Teacher-end interactive live broadcast SDK, interact with client-side live broadcast
5. The SDK of Yunxin IM on the web, sending and receiving messages
6. Customize the message, and the data structure of the message sent by each end
Design and implementation
Implementation This section mainly introduces the implementation of the teacher client and the Web/Wap student client mentioned in the overview of the previous section. It mainly includes the following parts: process refinement, teacher IM module, Web student terminal module, configuration, advantages, and existing problems.
Process refinement
First, let’s introduce the implementation of the teacher’s end, and make supplementary explanations to some of the details in the order of the numbers in the figure below. The teacher side has two main parts, one is native, which is called teacher’s native in this article, and the other is a web page, which is called teacher IM in this article. The teacher native and teacher IM communicate through jsbridge and custom messages.
First of all, sort out the jsbridge communication between teacher native and teacher IM as follows:
-notifyQueueChange
-notifyVolume
-notifyCustomMsg
-checkUpdate
-notifyLiveStatus
Combine the above flow chart, and then make a detailed description of the process:
1. Client initialization
Each end obtains a unified chat room address by requesting the server
2. Teacher initialization
After the teacher IM is initialized, it obtains the chat room address through the server request (getPresenterLiveInfo), obtains the chat room singleton, informs the teacher that the native chat room is ready, and obtains the interactive live broadcast data.
3. The process of inviting wheat
• The client sends a p2p message to the teacher native. The teacher native uses jsbridge to call the notifyCustomMsg of the teacher IM, and the teacher IM updates the waiting queue for the Mai request that it maintains.
• The teacher’s IM clicks to agree or reject, and the teacher’s native is notified via a message, and the teacher’s native informs the client of the request through P2P.
• The client uses the interactive live broadcast SDK, connects the microphone to the live room, and sends a message to the teacher native through the interactive live broadcast SDK.
• The teacher native calls the notifyQueueChange method to update the lists in the teacher IM
• Teacher IM, asynchronously request (informServer) to update the server's upload and download queues, send custom messages (im-sdk), and broadcast to notify each client.
Teacher IM module
Combining the flow chart and the detailed description of the process above, the front-end modules are designed and split, as shown in the following figure.
Here LivePcChat is a chat component in Tab, LiveInteractivePresenter is a component that processes interactive operations, and XXcache is a component that encapsulates corresponding data layer operations. The specific component instance, call, data request and processing process are as shown in the sequence diagram below:
Web student module
For the Web/Wap student terminal, because the Web/Wap student terminal itself has not yet developed the function of maiden. Here, take the Web student terminal as an example to introduce the realization of the Web/Wap student terminal in the interactive list and chat interaction. The chat room part of itself and the chat room on the teacher end reuse chat components, so the modules are also divided here first. You can refer to the division of components on the teacher side to compare some of the components reused by the teacher side and the student side. The following figure shows the split of the web student side.
It can be seen from the comparison in the table below that, in addition to the processing logic related to Yingmai, other functions of the IM on the teacher side and the web student side can be reused.
Configuration
Interactive live broadcast is an iteration based on the original live broadcast, so here we must ensure the configurability of interactive live broadcast in various education product lines. The configuration mentioned here is similar to the configuration of other modules and component access in the education public component pool. It also relies on the education general component cache-base, which is read in the config when the live page or project single page is loaded (institutional background) Configuration, one-key configuration.
Pros and cons analysis
The advantages of using this design are
1. All server requests are sent through the web page, reducing the maintenance cost of the teacher;
2. The configurability of the module. In different business lines, it can be configured to decide whether to connect to the interactive live broadcast;
3. The components are granular. In different modules, the teacher side can access the chat component and the interactive component, the microphone component, and the student side can only access the interactive list component;
4. It relies to the greatest extent on the functions implemented by the existing Yunxin sdk, which can meet the requirements in a relatively short time.
The problem
1. The process of Yingmai is more complicated, because it involves multiple ends, and debugging at each end is a waste of time. This is also the purpose of organizing this article. After getting through the understanding of the process of each end, each end can first locate the end of the problem during debugging, and then the problem can be found in a certain link in a targeted manner.
2. Because it is carried out on the basis of the original iteration, many components are not encapsulated into educational standard components, but under the premise of clear logic, they can be optimized in subsequent iterations.
3. Optimize the method of front-end implementation.
sum up
Through this article, we will sort out the logic of each end of the interactive live broadcast to facilitate the later access to the understanding of the interactive live broadcast process. For the client and teacher, you can understand the implementation of the interfaces and messages provided by the front end. If it is necessary to access the interactive live broadcast module in another subsequent project, it can be quickly accessed and debugged, and at the same time, it can further optimize the existing problems raised above.
|
Enter email to get a surprise
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org ->Afrikaans
sq.fmuser.org ->Albanian
ar.fmuser.org ->Arabic
hy.fmuser.org ->Armenian
az.fmuser.org ->Azerbaijani
eu.fmuser.org ->Basque
be.fmuser.org ->Belarusian
bg.fmuser.org ->Bulgarian
ca.fmuser.org ->Catalan
zh-CN.fmuser.org ->Chinese (Simplified)
zh-TW.fmuser.org ->Chinese (Traditional)
hr.fmuser.org ->Croatian
cs.fmuser.org ->Czech
da.fmuser.org ->Danish
nl.fmuser.org ->Dutch
et.fmuser.org ->Estonian
tl.fmuser.org ->Filipino
fi.fmuser.org ->Finnish
fr.fmuser.org ->French
gl.fmuser.org ->Galician
ka.fmuser.org ->Georgian
de.fmuser.org ->German
el.fmuser.org ->Greek
ht.fmuser.org ->Haitian Creole
iw.fmuser.org ->Hebrew
hi.fmuser.org ->Hindi
hu.fmuser.org ->Hungarian
is.fmuser.org ->Icelandic
id.fmuser.org ->Indonesian
ga.fmuser.org ->Irish
it.fmuser.org ->Italian
ja.fmuser.org ->Japanese
ko.fmuser.org ->Korean
lv.fmuser.org ->Latvian
lt.fmuser.org ->Lithuanian
mk.fmuser.org ->Macedonian
ms.fmuser.org ->Malay
mt.fmuser.org ->Maltese
no.fmuser.org ->Norwegian
fa.fmuser.org ->Persian
pl.fmuser.org ->Polish
pt.fmuser.org ->Portuguese
ro.fmuser.org ->Romanian
ru.fmuser.org ->Russian
sr.fmuser.org ->Serbian
sk.fmuser.org ->Slovak
sl.fmuser.org ->Slovenian
es.fmuser.org ->Spanish
sw.fmuser.org ->Swahili
sv.fmuser.org ->Swedish
th.fmuser.org ->Thai
tr.fmuser.org ->Turkish
uk.fmuser.org ->Ukrainian
ur.fmuser.org ->Urdu
vi.fmuser.org ->Vietnamese
cy.fmuser.org ->Welsh
yi.fmuser.org ->Yiddish
FMUSER Wirless Transmit Video And Audio More Easier !
Contact
Address:
No.305 Room HuiLan Building No.273 Huanpu Road Guangzhou China 510620
Categories
Newsletter