FMUSER Wirless Transmituj wideo i audio łatwiejsze!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> albański
ar.fmuser.org -> arabski
hy.fmuser.org -> Armeński
az.fmuser.org -> Azerbejdżański
eu.fmuser.org -> baskijski
be.fmuser.org -> białoruski
bg.fmuser.org -> bułgarski
ca.fmuser.org -> kataloński
zh-CN.fmuser.org -> chiński (uproszczony)
zh-TW.fmuser.org -> chiński (tradycyjny)
hr.fmuser.org -> chorwacki
cs.fmuser.org -> czeski
da.fmuser.org -> duński
nl.fmuser.org -> holenderski
et.fmuser.org -> estoński
tl.fmuser.org -> filipiński
fi.fmuser.org -> fiński
fr.fmuser.org -> francuski
gl.fmuser.org -> galicyjski
ka.fmuser.org -> gruziński
de.fmuser.org -> niemiecki
el.fmuser.org -> grecki
ht.fmuser.org -> kreolski haitański
iw.fmuser.org -> hebrajski
hi.fmuser.org -> hindi
hu.fmuser.org -> węgierski
is.fmuser.org -> islandzki
id.fmuser.org -> indonezyjski
ga.fmuser.org -> irlandzki
it.fmuser.org -> włoski
ja.fmuser.org -> japoński
ko.fmuser.org -> koreański
lv.fmuser.org -> łotewski
lt.fmuser.org -> litewski
mk.fmuser.org -> macedoński
ms.fmuser.org -> malajski
mt.fmuser.org -> maltański
no.fmuser.org -> norweski
fa.fmuser.org -> perski
pl.fmuser.org -> polski
pt.fmuser.org -> portugalski
ro.fmuser.org -> rumuński
ru.fmuser.org -> rosyjski
sr.fmuser.org -> serbski
sk.fmuser.org -> słowacki
sl.fmuser.org -> słoweński
es.fmuser.org -> hiszpański
sw.fmuser.org -> suahili
sv.fmuser.org -> szwedzki
th.fmuser.org -> Tajski
tr.fmuser.org -> turecki
uk.fmuser.org -> ukraiński
ur.fmuser.org -> Urdu
vi.fmuser.org -> wietnamski
cy.fmuser.org -> walijski
yi.fmuser.org -> jidysz
Interaktywna transmisja na żywo obejmuje serwer, klienta nauczyciela, klienta studenta iOS / Android oraz klienta internetowego / Wap. Ten artykuł skupia się na procesie interakcji w Maimai, projektowaniu modułu Maimai w interfejsie użytkownika oraz projektowaniu komponentów interaktywnych i czatu w interfejsie użytkownika. W celu realizacji funkcji czatu w samym pokoju rozmów, ponieważ dostęp do pakietu Yunxin IM SDK jest realizowany głównie poprzez pakiet wywołań Api, nie będę wchodził w szczegóły.
Przed zaprojektowaniem systemu należy najpierw rozważyć następujące pytania:
• Definicja wymagań i podział funkcji każdego końca, sposób interakcji każdego końca
• Umowa między każdym końcem
• Klient prosi mikrofon i nauczyciela o odbiór
• Synchronizacja interaktywnych informacji po wejściu klienta do interaktywnej sali nadawczej na żywo
Mając powyższe pytania, najpierw uporządkujmy usługi, na których możemy polegać. Poniższy rysunek przedstawia poniższe usługi świadczone przez NetEase Cloud. W połączeniu z projektowaniem własnych wymagań systemowych, możemy szybko zintegrować funkcje komunikatora internetowego i interaktywnej transmisji na żywo.
• Usługa komunikatora Yunxin zapewnia pełny zestaw podstawowych funkcji komunikatorów, które mogą szybko zintegrować komunikatory i funkcje sieciowe czasu rzeczywistego z własnymi aplikacjami przedsiębiorstwa.
• Interaktywna funkcja transmisji na żywo firmy Yunxin obsługuje interakcję w czasie rzeczywistym między gospodarzem a publicznością.
Framework
Nasze podstawowe potrzeby to przede wszystkim następujące trzy części:
1. Uczniowie wchodzą do pokoju rozmów w kliencie aplikacji i mogą zainicjować żądanie dotyczące pszenicy;
2. Ze strony nauczyciela możesz zaakceptować lub odrzucić prośbę ucznia;
3. Po wyrażeniu przez nauczyciela zgody na prośbę ucznia, uczeń może wejść do pokoju transmisji na żywo w celu interakcji.
Połącz wymagania i uporządkuj następujące podstawowe żądanie mikrofonu, mikrofon podłączający i procesy interaktywne, jak pokazano na poniższym rysunku. Różne style przepływu danych reprezentują różne umowy.
Oto kilka dodatkowych pojęć:
1. SDK klienta Yunxin IM, klient wysyła wiadomości P2P do nauczyciela za pośrednictwem Yunxin IM
2. Klient SDK interaktywnej transmisji na żywo, klient łączy się z interaktywną transmisją na żywo
3. Yunxin SDK po stronie nauczyciela, akceptuj wiadomości p2p
4. Zestaw SDK interaktywnej transmisji na żywo po stronie nauczyciela, współdziałanie z transmisją na żywo po stronie klienta
5. SDK Yunxin IM w sieci, wysyłanie i odbieranie wiadomości
6. Dostosuj wiadomość i strukturę danych wiadomości wysyłanej na każdym końcu
Projektowanie i wdrażanie
Wdrażanie W tej części przedstawiono głównie implementację klienta nauczyciela i klienta ucznia Web / Wap wspomnianego w przeglądzie poprzedniej sekcji. Obejmuje głównie następujące części: udoskonalenie procesu, moduł komunikatora dla nauczyciela, moduł terminala internetowego studenta, konfiguracja, zalety i istniejące problemy.
Udoskonalenie procesu
Najpierw przedstawmy realizację końca nauczyciela i uzupełnijmy niektóre szczegóły w kolejności liczb na poniższym rysunku. Strona nauczyciela składa się z dwóch głównych części, jedna jest rodzima, która w tym artykule jest nazywana rodzimą nauczyciela, a druga to strona internetowa, która w tym artykule jest nazywana komunikatorem nauczyciela. Nauczyciel native i nauczyciel komunikują się przez jsbridge i własne wiadomości.
Przede wszystkim uporządkuj komunikację jsbridge między rodzimym nauczycielem a nauczycielem w następujący sposób:
-notifyQueueChange
-notifyGłośność
-notifyCustomMsg
-Sprawdź aktualizację
-notifyLiveStatus
Połącz powyższy schemat blokowy, a następnie opisz szczegółowo proces:
1. Inicjalizacja klienta
Każdy koniec uzyskuje ujednolicony adres pokoju rozmów, wysyłając żądanie do serwera
2. Inicjalizacja nauczyciela
Po zainicjowaniu nauczyciela IM uzyskuje adres pokoju rozmów za pośrednictwem żądania serwera (getPresenterLiveInfo), uzyskuje singleton pokoju rozmów, informuje nauczyciela, że natywny pokój rozmów jest gotowy i uzyskuje dane interaktywnej transmisji na żywo.
3. Proces zapraszania pszenicy
• Klient wysyła wiadomość p2p do rodzimego nauczyciela. Natywny nauczyciel używa jsbridge do wywoływania notifyCustomMsg wiadomości błyskawicznej nauczyciela, a wiadomość błyskawiczna nauczyciela aktualizuje kolejkę oczekujących na żądanie Mai, które obsługuje.
• Komunikator nauczyciela klika, aby zaakceptować lub odrzucić, a osoba rodzima nauczyciela jest powiadamiana za pośrednictwem wiadomości, a osoba rodzima nauczyciela informuje klienta o prośbie za pośrednictwem P2P.
• Klient korzysta z interaktywnego zestawu SDK transmisji na żywo, podłącza mikrofon do sali na żywo i wysyła wiadomość do nauczyciela, który jest ojczysty, za pośrednictwem zestawu SDK do interaktywnej transmisji na żywo.
• Nauczyciel w języku ojczystym wywołuje metodę notifyQueueChange, aby zaktualizować listy w komunikacie nauczyciela
• Nauczyciel IM, asynchronicznie żąda (informServer) aktualizacji kolejek wysyłania i pobierania serwera, wysyłania niestandardowych wiadomości (im-sdk) i rozgłaszania w celu powiadomienia każdego klienta.
Moduł IM dla nauczyciela
Łącząc schemat blokowy i szczegółowy opis powyższego procesu, moduły front-end są projektowane i dzielone, jak pokazano na poniższym rysunku.
Tutaj LivePcChat to komponent czatu na karcie, LiveInteractivePresenter to komponent przetwarzający interaktywne operacje, a XXcache to komponent, który hermetyzuje odpowiednie operacje warstwy danych. Konkretne wystąpienie komponentu, wywołanie, żądanie danych i proces przetwarzania są pokazane na poniższym diagramie sekwencji:
Moduł studenta internetowego
W przypadku terminala studenckiego Web / Wap, ponieważ sam terminal studencki Web / Wap nie rozwinął jeszcze funkcji dziewczyny. W tym miejscu weź internetowy terminal studencki jako przykład, aby przedstawić realizację terminala studenckiego Web / Wap na interaktywnej liście i interakcji na czacie. Część czatu sama w sobie i pokój rozmów na stronie nauczyciela ponownie wykorzystują komponenty czatu, więc moduły również są tutaj podzielone jako pierwsze. Możesz odnieść się do podziału komponentów po stronie nauczyciela, aby porównać niektóre komponenty ponownie użyte po stronie nauczyciela i po stronie ucznia. Poniższy rysunek przedstawia podział strony studenta internetowego.
Z porównania w poniższej tabeli widać, że oprócz logiki przetwarzania związanej z Yingmai, można ponownie wykorzystać inne funkcje komunikatora internetowego po stronie nauczyciela i studenta internetowego.
systemu
Interaktywna transmisja na żywo to iteracja oparta na oryginalnej transmisji na żywo, dlatego musimy zapewnić konfigurowalność interaktywnej transmisji na żywo w różnych liniach produktów edukacyjnych. Wspomniana tutaj konfiguracja jest podobna do konfiguracji innych modułów i dostępu do komponentów w publicznej puli komponentów dla sektora edukacji. Opiera się również na podstawowej pamięci podręcznej komponentu edukacyjnego, która jest odczytywana w konfiguracji, gdy ładowana jest strona na żywo lub pojedyncza strona projektu (tło instytucjonalne) Konfiguracja, konfiguracja z jednym klawiszem.
Analiza plusów i minusów
Zalety korzystania z tego projektu to
1. Wszystkie żądania serwera są przesyłane za pośrednictwem strony internetowej, co zmniejsza koszty utrzymania nauczyciela;
2. Konfigurowalność modułu. W różnych liniach biznesowych można skonfigurować, aby zdecydować, czy połączyć się z interaktywną transmisją na żywo;
3. Składniki są ziarniste. W różnych modułach strona nauczyciela może uzyskać dostęp do komponentu czatu, komponentu interaktywnego, komponentu mikrofonu, a strona ucznia ma dostęp tylko do komponentu listy interaktywnej;
4. Opiera się w największym stopniu na funkcjach realizowanych przez istniejący sdk Yunxin, który może sprostać wymaganiom w stosunkowo krótkim czasie.
Problem
1. Proces Yingmai jest bardziej skomplikowany, ponieważ obejmuje wiele końców, a debugowanie na każdym końcu jest stratą czasu. Taki jest również cel uporządkowania tego artykułu. Po zapoznaniu się z procesem każdego końca, każdy koniec może najpierw zlokalizować koniec problemu podczas debugowania, a następnie problem można znaleźć w określonym łączu w ukierunkowany sposób.
2. Ponieważ odbywa się na podstawie oryginalnej iteracji, wiele komponentów nie jest zamkniętych w edukacyjnych standardowych komponentach, ale zgodnie z założeniem jasnej logiki, można je optymalizować w kolejnych iteracjach.
3. Zoptymalizuj metodę implementacji front-end.
podsumować
W tym artykule uporządkujemy logikę każdego końca interaktywnej transmisji na żywo, aby ułatwić późniejszy dostęp do zrozumienia procesu interaktywnej transmisji na żywo. Dla klienta i nauczyciela możesz zrozumieć implementację interfejsów i komunikatów dostarczanych przez front-end. Jeśli zajdzie potrzeba uzyskania dostępu do interaktywnego modułu transmisji na żywo w innym kolejnym projekcie, można go szybko uzyskać i zdebugować, a jednocześnie może jeszcze bardziej zoptymalizować istniejące problemy poruszone powyżej.
|
Wpisz e-mail, aby otrzymać niespodziankę
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> albański
ar.fmuser.org -> arabski
hy.fmuser.org -> Armeński
az.fmuser.org -> Azerbejdżański
eu.fmuser.org -> baskijski
be.fmuser.org -> białoruski
bg.fmuser.org -> bułgarski
ca.fmuser.org -> kataloński
zh-CN.fmuser.org -> chiński (uproszczony)
zh-TW.fmuser.org -> chiński (tradycyjny)
hr.fmuser.org -> chorwacki
cs.fmuser.org -> czeski
da.fmuser.org -> duński
nl.fmuser.org -> holenderski
et.fmuser.org -> estoński
tl.fmuser.org -> filipiński
fi.fmuser.org -> fiński
fr.fmuser.org -> francuski
gl.fmuser.org -> galicyjski
ka.fmuser.org -> gruziński
de.fmuser.org -> niemiecki
el.fmuser.org -> grecki
ht.fmuser.org -> kreolski haitański
iw.fmuser.org -> hebrajski
hi.fmuser.org -> hindi
hu.fmuser.org -> węgierski
is.fmuser.org -> islandzki
id.fmuser.org -> indonezyjski
ga.fmuser.org -> irlandzki
it.fmuser.org -> włoski
ja.fmuser.org -> japoński
ko.fmuser.org -> koreański
lv.fmuser.org -> łotewski
lt.fmuser.org -> litewski
mk.fmuser.org -> macedoński
ms.fmuser.org -> malajski
mt.fmuser.org -> maltański
no.fmuser.org -> norweski
fa.fmuser.org -> perski
pl.fmuser.org -> polski
pt.fmuser.org -> portugalski
ro.fmuser.org -> rumuński
ru.fmuser.org -> rosyjski
sr.fmuser.org -> serbski
sk.fmuser.org -> słowacki
sl.fmuser.org -> słoweński
es.fmuser.org -> hiszpański
sw.fmuser.org -> suahili
sv.fmuser.org -> szwedzki
th.fmuser.org -> Tajski
tr.fmuser.org -> turecki
uk.fmuser.org -> ukraiński
ur.fmuser.org -> Urdu
vi.fmuser.org -> wietnamski
cy.fmuser.org -> walijski
yi.fmuser.org -> jidysz
FMUSER Wirless Transmituj wideo i audio łatwiejsze!
Kontakt
Adres:
Nr 305 Pokój HuiLan Budynek nr 273 Huanpu Road Guangzhou Chiny 510620
Kategorie
Newsletter