FMUSER Wireless Video- und Audioübertragung einfacher!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> Albanisch
ar.fmuser.org -> Arabisch
hy.fmuser.org -> Armenisch
az.fmuser.org -> Aserbaidschanisch
eu.fmuser.org -> Baskisch
be.fmuser.org -> Weißrussisch
bg.fmuser.org -> Bulgarisch
ca.fmuser.org -> Katalanisch
zh-CN.fmuser.org -> Chinesisch (vereinfacht)
zh-TW.fmuser.org -> Chinesisch (traditionell)
hr.fmuser.org -> Kroatisch
cs.fmuser.org -> Tschechisch
da.fmuser.org -> Dänisch
nl.fmuser.org -> Niederländisch
et.fmuser.org -> Estnisch
tl.fmuser.org -> Philippinisch
fi.fmuser.org -> Finnisch
fr.fmuser.org -> Französisch
gl.fmuser.org -> Galizisch
ka.fmuser.org -> Georgisch
de.fmuser.org -> Deutsch
el.fmuser.org -> Griechisch
ht.fmuser.org -> Haitianisches Kreol
iw.fmuser.org -> Hebräisch
hi.fmuser.org -> Hindi
hu.fmuser.org -> Ungarisch
is.fmuser.org -> Isländisch
id.fmuser.org -> Indonesisch
ga.fmuser.org -> Irisch
it.fmuser.org -> Italienisch
ja.fmuser.org -> Japanisch
ko.fmuser.org -> Koreanisch
lv.fmuser.org -> Lettisch
lt.fmuser.org -> Litauisch
mk.fmuser.org -> Mazedonisch
ms.fmuser.org -> Malaiisch
mt.fmuser.org -> Malteser
no.fmuser.org -> Norwegisch
fa.fmuser.org -> Persisch
pl.fmuser.org -> Polnisch
pt.fmuser.org -> Portugiesisch
ro.fmuser.org -> Rumänisch
ru.fmuser.org -> Russisch
sr.fmuser.org -> Serbisch
sk.fmuser.org -> Slowakisch
sl.fmuser.org -> Slowenisch
es.fmuser.org -> Spanisch
sw.fmuser.org -> Suaheli
sv.fmuser.org -> Schwedisch
th.fmuser.org -> Thai
tr.fmuser.org -> Türkisch
uk.fmuser.org -> Ukrainisch
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamesisch
cy.fmuser.org -> Walisisch
yi.fmuser.org -> Jiddisch
Die interaktive Live-Übertragung umfasst den Server, den Lehrer-Client, den iOS / Android-Schüler-Client und den Web / Wap-Schüler-Client. Dieser Artikel konzentriert sich auf den Interaktionsprozess von Maimai, das Design des Maimai-Moduls im Front-End und das Design interaktiver und Chat-Komponenten im Front-End. Für die Realisierung der Chat-Funktion des Chatrooms selbst werde ich nicht auf Details eingehen, da der Zugriff auf das Yunxin IM SDK hauptsächlich über das Api-Aufrufpaket erfolgt.
Bevor Sie das System entwerfen, müssen Sie zunächst die folgenden Fragen berücksichtigen:
• Anforderungsdefinition und Funktionsteilung jedes Endes, wie jedes Ende interagiert
• Vereinbarung zwischen jedem Ende
• Der Kunde bittet das Mikrofon und den Lehrer um Empfang
• Synchronisierung interaktiver Informationen, nachdem der Client den interaktiven Live-Übertragungsraum betreten hat
Lassen Sie uns mit den obigen Fragen zunächst die Dienste aussortieren, auf die wir uns verlassen können. Die folgenden von NetEase Cloud bereitgestellten Dienste sind in der folgenden Abbildung dargestellt. In Kombination mit dem Design unserer eigenen Systemanforderungen können wir die Funktionen von IM und interaktiver Live-Übertragung schnell integrieren.
• Der Yunxin IM-Dienst bietet einen vollständigen Satz grundlegender Instant Messaging-Funktionen, mit denen Instant Messaging- und Echtzeit-Netzwerkfunktionen schnell in die unternehmenseigenen Anwendungen integriert werden können.
• Die interaktive Live-Übertragungsfunktion von Yunxin unterstützt die Echtzeitinteraktion zwischen dem Moderator und dem Publikum.
Unser Ansatz
Unsere Grundbedürfnisse bestehen hauptsächlich aus den folgenden drei Teilen:
1. Die Schüler betreten den Chatraum auf dem App-Client und können eine Weizenanfrage einleiten.
2. Auf der Seite des Lehrers können Sie die Anfrage des Schülers genehmigen oder ablehnen.
3. Nachdem der Lehrer der Anfrage eines Schülers zugestimmt hat, kann der Schüler den Live-Übertragungsraum betreten, um zu interagieren.
Kombinieren Sie die Anforderungen und sortieren Sie die folgenden grundlegenden Mikrofonanforderungen, Verbindungsmikrofone und interaktiven Prozesse aus (siehe Abbildung unten). Unterschiedliche Arten des Datenflusses repräsentieren unterschiedliche Vereinbarungen.
Hier sind einige zusätzliche Konzepte:
1. Das SDK des Clients Yunxin IM, der Client sendet P2P-Nachrichten über Yunxin IM an den Lehrer
2. Interaktives Live-Broadcast-SDK des Clients. Der Client stellt eine Verbindung zur interaktiven Live-Übertragung her
3. Yunxin SDK auf der Lehrerseite, akzeptieren Sie P2P-Nachrichten
4. Interaktives Live-Broadcast-SDK für Lehrer, Interaktion mit clientseitiger Live-Übertragung
5. Das SDK von Yunxin IM im Web zum Senden und Empfangen von Nachrichten
6. Passen Sie die Nachricht und die Datenstruktur der von jedem Ende gesendeten Nachricht an
Design und Implementierung
Implementierung In diesem Abschnitt wird hauptsächlich die Implementierung des Lehrer-Clients und des Web / Wap-Schüler-Clients vorgestellt, die in der Übersicht des vorherigen Abschnitts erwähnt wurden. Es umfasst hauptsächlich die folgenden Teile: Prozessverfeinerung, Lehrer-IM-Modul, Web-Schüler-Terminal-Modul, Konfiguration, Vorteile und vorhandene Probleme.
Prozessverfeinerung
Lassen Sie uns zunächst die Umsetzung des Lehrerendes vorstellen und einige Details in der Reihenfolge der Zahlen in der folgenden Abbildung erläutern. Die Lehrerseite besteht aus zwei Hauptteilen: Der eine ist einheimisch, der in diesem Artikel als "muttersprachlich" bezeichnet wird, und der andere ist eine Webseite, die in diesem Artikel als "Lehrer-IM" bezeichnet wird. Der Lehrer-Muttersprachler und der Lehrer-IM kommunizieren über jsbridge und benutzerdefinierte Nachrichten.
Sortieren Sie zunächst die jsbridge-Kommunikation zwischen dem Muttersprachler des Lehrers und dem IM des Lehrers wie folgt:
-NotifyQueueChange
-NotifyVolume
-notifyCustomMsg
-Aktualisierung überprüfen
-NotifyLiveStatus
Kombinieren Sie das obige Flussdiagramm und machen Sie dann eine detaillierte Beschreibung des Prozesses:
1. Client-Initialisierung
Jedes Ende erhält eine einheitliche Chatroom-Adresse, indem es den Server anfordert
2. Lehrerinitialisierung
Nachdem der Lehrer-IM initialisiert wurde, erhält er die Chatroom-Adresse über die Serveranforderung (getPresenterLiveInfo), erhält den Chatroom-Singleton, informiert den Lehrer, dass der native Chatraum bereit ist, und erhält die interaktiven Live-Übertragungsdaten.
3. Der Prozess der Einladung von Weizen
• Der Client sendet eine P2P-Nachricht an den Muttersprachler. Der Muttersprachler des Lehrers verwendet jsbridge, um notifyCustomMsg des Lehrer-IM aufzurufen, und der Lehrer-IM aktualisiert die Warteschlange für die von ihm verwaltete Mai-Anforderung.
• Der IM des Lehrers klickt, um zuzustimmen oder abzulehnen, und der Muttersprachler des Lehrers wird über eine Nachricht benachrichtigt, und der Muttersprachler des Lehrers informiert den Kunden über P2P über die Anfrage.
• Der Client verwendet das interaktive Live-Broadcast-SDK, verbindet das Mikrofon mit dem Live-Raum und sendet über das interaktive Live-Broadcast-SDK eine Nachricht an den Muttersprachler.
• Der Lehrer-Muttersprachler ruft die notifyQueueChange-Methode auf, um die Listen im Lehrer-IM zu aktualisieren
• Lehrer-IM, asynchrone Anforderung (informServer), die Upload- und Download-Warteschlangen des Servers zu aktualisieren, benutzerdefinierte Nachrichten (im-sdk) zu senden und zu senden, um jeden Client zu benachrichtigen.
Lehrer-IM-Modul
Durch die Kombination des Flussdiagramms und der detaillierten Beschreibung des obigen Prozesses werden die Front-End-Module wie in der folgenden Abbildung dargestellt entworfen und aufgeteilt.
Hier ist LivePcChat eine Chat-Komponente in Tab, LiveInteractivePresenter ist eine Komponente, die interaktive Operationen verarbeitet, und XXcache ist eine Komponente, die entsprechende Datenschichtoperationen kapselt. Die spezifische Komponenteninstanz, der Aufruf, die Datenanforderung und der Verarbeitungsprozess sind im folgenden Sequenzdiagramm dargestellt:
Web-Studentenmodul
Für das Web / Wap-Studententerminal, da das Web / Wap-Studententerminal selbst die Funktion der Jungfrau noch nicht entwickelt hat. Nehmen Sie hier das Web-Student-Terminal als Beispiel, um die Realisierung des Web / Wap-Student-Terminals in die interaktive Liste und die Chat-Interaktion einzuführen. Der Chatroom-Teil von sich selbst und der Chatroom am Ende des Lehrers verwenden Chat-Komponenten wieder, sodass die Module auch hier zuerst unterteilt werden. Sie können sich auf die Aufteilung der Komponenten auf der Lehrerseite beziehen, um einige der von der Lehrerseite und der Schülerseite wiederverwendeten Komponenten zu vergleichen. Die folgende Abbildung zeigt die Aufteilung der Webschülerseite.
Aus dem Vergleich in der folgenden Tabelle ist ersichtlich, dass zusätzlich zu der Verarbeitungslogik in Bezug auf Yingmai andere Funktionen des IM auf der Lehrerseite und der Webschülerseite wiederverwendet werden können.
Konfiguration
Die interaktive Live-Übertragung ist eine Iteration, die auf der ursprünglichen Live-Übertragung basiert. Daher müssen wir hier die Konfigurierbarkeit der interaktiven Live-Übertragung in verschiedenen Bildungsproduktlinien sicherstellen. Die hier erwähnte Konfiguration ähnelt der Konfiguration anderer Module und dem Komponentenzugriff im öffentlichen Komponentenpool für Bildung. Es basiert auch auf der allgemeinen Cache-Basis der Bildungskomponente, die in der Konfiguration gelesen wird, wenn die Live-Seite oder die einzelne Projektseite geladen wird (institutioneller Hintergrund). Konfiguration, Ein-Schlüssel-Konfiguration.
Vor- und Nachteile Analyse
Die Vorteile dieses Designs sind
1. Alle Serveranforderungen werden über die Webseite gesendet, wodurch die Wartungskosten des Lehrers gesenkt werden.
2. Die Konfigurierbarkeit des Moduls. In verschiedenen Geschäftsbereichen kann konfiguriert werden, ob eine Verbindung zur interaktiven Live-Übertragung hergestellt werden soll.
3. Die Komponenten sind körnig. In verschiedenen Modulen kann die Lehrerseite auf die Chat-Komponente und die interaktive Komponente, die Mikrofonkomponente und die Schülerseite nur auf die interaktive Listenkomponente zugreifen.
4. Sie stützt sich in hohem Maße auf die Funktionen des bestehenden Yunxin sdk, die die Anforderungen in relativ kurzer Zeit erfüllen können.
Das Problem
1. Der Prozess von Yingmai ist komplizierter, da er mehrere Enden umfasst und das Debuggen an jedem Ende Zeitverschwendung ist. Dies ist auch der Zweck der Organisation dieses Artikels. Nachdem Sie den Prozess jedes Endes verstanden haben, kann jedes Ende zuerst das Ende des Problems während des Debuggens lokalisieren, und dann kann das Problem in einem bestimmten Link auf gezielte Weise gefunden werden.
2. Da es auf der Grundlage der ursprünglichen Iteration ausgeführt wird, sind viele Komponenten nicht in Lernstandardkomponenten eingekapselt, können jedoch unter der Voraussetzung einer klaren Logik in nachfolgenden Iterationen optimiert werden.
3. Optimieren Sie die Methode der Front-End-Implementierung.
zusammenfassen
In diesem Artikel werden wir die Logik jedes Endes der interaktiven Live-Übertragung sortieren, um den späteren Zugriff auf das Verständnis des interaktiven Live-Übertragungsprozesses zu erleichtern. Für den Kunden und den Lehrer können Sie die Implementierung der vom Frontend bereitgestellten Schnittstellen und Nachrichten verstehen. Wenn in einem anderen nachfolgenden Projekt auf das interaktive Live-Broadcast-Modul zugegriffen werden muss, kann schnell darauf zugegriffen und debuggt werden, und gleichzeitig können die oben genannten Probleme weiter optimiert werden.
|
Geben Sie eine E-Mail-Adresse ein, um eine Überraschung zu erhalten
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> Albanisch
ar.fmuser.org -> Arabisch
hy.fmuser.org -> Armenisch
az.fmuser.org -> Aserbaidschanisch
eu.fmuser.org -> Baskisch
be.fmuser.org -> Weißrussisch
bg.fmuser.org -> Bulgarisch
ca.fmuser.org -> Katalanisch
zh-CN.fmuser.org -> Chinesisch (vereinfacht)
zh-TW.fmuser.org -> Chinesisch (traditionell)
hr.fmuser.org -> Kroatisch
cs.fmuser.org -> Tschechisch
da.fmuser.org -> Dänisch
nl.fmuser.org -> Niederländisch
et.fmuser.org -> Estnisch
tl.fmuser.org -> Philippinisch
fi.fmuser.org -> Finnisch
fr.fmuser.org -> Französisch
gl.fmuser.org -> Galizisch
ka.fmuser.org -> Georgisch
de.fmuser.org -> Deutsch
el.fmuser.org -> Griechisch
ht.fmuser.org -> Haitianisches Kreol
iw.fmuser.org -> Hebräisch
hi.fmuser.org -> Hindi
hu.fmuser.org -> Ungarisch
is.fmuser.org -> Isländisch
id.fmuser.org -> Indonesisch
ga.fmuser.org -> Irisch
it.fmuser.org -> Italienisch
ja.fmuser.org -> Japanisch
ko.fmuser.org -> Koreanisch
lv.fmuser.org -> Lettisch
lt.fmuser.org -> Litauisch
mk.fmuser.org -> Mazedonisch
ms.fmuser.org -> Malaiisch
mt.fmuser.org -> Malteser
no.fmuser.org -> Norwegisch
fa.fmuser.org -> Persisch
pl.fmuser.org -> Polnisch
pt.fmuser.org -> Portugiesisch
ro.fmuser.org -> Rumänisch
ru.fmuser.org -> Russisch
sr.fmuser.org -> Serbisch
sk.fmuser.org -> Slowakisch
sl.fmuser.org -> Slowenisch
es.fmuser.org -> Spanisch
sw.fmuser.org -> Suaheli
sv.fmuser.org -> Schwedisch
th.fmuser.org -> Thai
tr.fmuser.org -> Türkisch
uk.fmuser.org -> Ukrainisch
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamesisch
cy.fmuser.org -> Walisisch
yi.fmuser.org -> Jiddisch
FMUSER Wireless Video- und Audioübertragung einfacher!
Kontakt
Adresse
Nr.305 Zimmer HuiLan Gebäude Nr.273 Huanpu Road Guangzhou China 510620
Kategorien
Newsletter