FMUSER ¡Transmite video y audio sin cables más fácilmente!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikáans
sq.fmuser.org -> albanés
ar.fmuser.org -> árabe
hy.fmuser.org -> Armenio
az.fmuser.org -> azerbaiyano
eu.fmuser.org -> Vasco
be.fmuser.org -> bielorruso
bg.fmuser.org -> Bulgaria
ca.fmuser.org -> catalán
zh-CN.fmuser.org -> chino (simplificado)
zh-TW.fmuser.org -> Chino (tradicional)
hr.fmuser.org -> croata
cs.fmuser.org -> checo
da.fmuser.org -> danés
nl.fmuser.org -> Holandés
et.fmuser.org -> estonio
tl.fmuser.org -> filipino
fi.fmuser.org -> finlandés
fr.fmuser.org -> Francés
gl.fmuser.org -> gallego
ka.fmuser.org -> georgiano
de.fmuser.org -> alemán
el.fmuser.org -> Griego
ht.fmuser.org -> criollo haitiano
iw.fmuser.org -> hebreo
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> islandés
id.fmuser.org -> indonesio
ga.fmuser.org -> irlandés
it.fmuser.org -> Italiano
ja.fmuser.org -> japonés
ko.fmuser.org -> coreano
lv.fmuser.org -> letón
lt.fmuser.org -> Lituania
mk.fmuser.org -> macedonio
ms.fmuser.org -> malayo
mt.fmuser.org -> maltés
no.fmuser.org -> Noruega
fa.fmuser.org -> persa
pl.fmuser.org -> polaco
pt.fmuser.org -> portugués
ro.fmuser.org -> Rumano
ru.fmuser.org -> ruso
sr.fmuser.org -> serbio
sk.fmuser.org -> eslovaco
sl.fmuser.org -> Eslovenia
es.fmuser.org -> español
sw.fmuser.org -> Swahili
sv.fmuser.org -> sueco
th.fmuser.org -> Tailandés
tr.fmuser.org -> turco
uk.fmuser.org -> ucraniano
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamita
cy.fmuser.org -> galés
yi.fmuser.org -> Yiddish
La transmisión interactiva en vivo involucra el servidor, el cliente del profesor, el cliente del estudiante iOS / Android y el cliente del estudiante Web / Wap. Este artículo se centra en el proceso de interacción de Maimai, el diseño del módulo Maimai en el front-end y el diseño de componentes interactivos y de chat en el front-end. Para la realización de la función de chat de la propia sala de chat, debido a que el acceso al Yunxin IM SDK se realiza principalmente a través del paquete de llamadas Api, no entraré en detalles.
Antes de diseñar el sistema, primero debe considerar las siguientes preguntas:
• Definición de requisitos y división de funciones de cada extremo, cómo interactúa cada extremo
• Acuerdo entre cada extremo
• El cliente pide al micrófono y al profesor que reciban
• Sincronización de información interactiva después de que el cliente ingresa a la sala de transmisión interactiva en vivo
Con las preguntas anteriores, primero clasifiquemos los servicios en los que podemos confiar. Los siguientes servicios proporcionados por NetEase Cloud se muestran en la siguiente figura. Combinado con el diseño de nuestros propios requisitos del sistema, podemos integrar rápidamente las funciones de mensajería instantánea y transmisión interactiva en vivo.
• El servicio de mensajería instantánea de Yunxin proporciona un conjunto completo de capacidades básicas de mensajería instantánea, que pueden integrar rápidamente mensajería instantánea y capacidades de red en tiempo real en las propias aplicaciones de la empresa.
• La función de transmisión en vivo interactiva de Yunxin admite la interacción en tiempo real entre el anfitrión y la audiencia.
Marco conceptual
Nuestras necesidades básicas son principalmente las siguientes tres partes:
1. Los estudiantes ingresan a la sala de chat en el cliente de la aplicación y pueden iniciar una solicitud de trigo;
2. Por parte del profesor, puede aprobar o rechazar la solicitud del alumno;
3. Después de que el maestro acepta la solicitud de un estudiante, el estudiante puede ingresar a la sala de transmisión en vivo para interactuar.
Combine los requisitos y clasifique la siguiente solicitud de micrófono básica, micrófono de conexión y procesos interactivos, como se muestra en la figura siguiente. Los diferentes estilos de flujo de datos representan diferentes acuerdos.
A continuación, se muestran algunos conceptos adicionales:
1. El SDK del cliente Yunxin IM, el cliente envía mensajes P2P al profesor a través de Yunxin IM
2. SDK de transmisión en vivo interactivo del cliente, el cliente se conecta a la transmisión en vivo interactiva
3. Yunxin SDK en el extremo del profesor, acepta mensajes p2p
4. SDK de transmisión en vivo interactiva para el profesor, interactuar con la transmisión en vivo del lado del cliente
5. El SDK de Yunxin IM en la web, envío y recepción de mensajes
6. Personalice el mensaje y la estructura de datos del mensaje enviado por cada extremo.
Diseño e implementación
Implementación Esta sección presenta principalmente la implementación del cliente de profesor y el cliente de estudiante Web / Wap mencionado en la descripción general de la sección anterior. Incluye principalmente las siguientes partes: refinamiento de procesos, módulo de mensajería instantánea del profesor, módulo de terminal web para estudiantes, configuración, ventajas y problemas existentes.
Refinamiento de procesos
Primero, introduzcamos la implementación del final del maestro y hagamos explicaciones complementarias a algunos de los detalles en el orden de los números en la figura siguiente. El lado del profesor tiene dos partes principales, una es nativa, que se llama nativo del profesor en este artículo, y la otra es una página web, que se llama IM del profesor en este artículo. El maestro nativo y el maestro IM se comunican a través de jsbridge y mensajes personalizados.
En primer lugar, clasifique la comunicación jsbridge entre el maestro nativo y el maestro IM de la siguiente manera:
-notificar cambio de cola
-notificar Volumen
-notificarMensajePersonalizado
-comprueba la actualización
-notificar estado en vivo
Combine el diagrama de flujo anterior y luego haga una descripción detallada del proceso:
1. Inicialización del cliente
Cada extremo obtiene una dirección de sala de chat unificada al solicitar al servidor
2. Inicialización del profesor
Después de que se inicializa la mensajería instantánea del maestro, obtiene la dirección de la sala de chat a través de la solicitud del servidor (getPresenterLiveInfo), obtiene el singleton de la sala de chat, informa al maestro que la sala de chat nativa está lista y obtiene los datos interactivos de transmisión en vivo.
3. El proceso de invitar al trigo
• El cliente envía un mensaje p2p al profesor nativo. El maestro nativo usa jsbridge para llamar al aviso de notificación personalizada del maestro, y el maestro de mensajería instantánea actualiza la cola de espera para la solicitud Mai que mantiene.
• El IM del profesor hace clic para aceptar o rechazar, y el nativo del profesor es notificado a través de un mensaje, y el nativo del profesor informa al cliente de la solicitud a través de P2P.
• El cliente usa el SDK de transmisión en vivo interactivo, conecta el micrófono a la sala en vivo y envía un mensaje al maestro nativo a través del SDK de transmisión en vivo interactivo.
• El profesor nativo llama al método notifyQueueChange para actualizar las listas en la mensajería instantánea del profesor.
• Mensajería instantánea del maestro, solicitud asincrónica (informServer) para actualizar las colas de carga y descarga del servidor, enviar mensajes personalizados (im-sdk) y transmitir para notificar a cada cliente.
Módulo de mensajería instantánea para profesores
Combinando el diagrama de flujo y la descripción detallada del proceso anterior, los módulos frontales se diseñan y dividen, como se muestra en la siguiente figura.
Aquí LivePcChat es un componente de chat en Tab, LiveInteractivePresenter es un componente que procesa operaciones interactivas y XXcache es un componente que encapsula las operaciones de capa de datos correspondientes. La instancia del componente, la llamada, la solicitud de datos y el proceso de procesamiento específicos se muestran en el siguiente diagrama de secuencia:
Módulo de estudiante web
Para el terminal de estudiantes Web / Wap, porque el propio terminal de estudiantes Web / Wap aún no ha desarrollado la función de doncella. Aquí, tome la terminal de estudiantes Web como ejemplo para introducir la realización de la terminal de estudiantes Web / Wap en la lista interactiva y la interacción de chat. La sala de chat es parte de sí misma y la sala de chat del profesor terminan reutilizando los componentes del chat, por lo que los módulos también se dividen aquí primero. Puede consultar la división de componentes en el lado del profesor para comparar algunos de los componentes reutilizados por el lado del profesor y el lado del estudiante. La siguiente figura muestra la división del lado del estudiante web.
Se puede ver en la comparación en la tabla a continuación que, además de la lógica de procesamiento relacionada con Yingmai, se pueden reutilizar otras funciones de la mensajería instantánea en el lado del profesor y en el lado del estudiante web.
Configuración
La transmisión en vivo interactiva es una iteración basada en la transmisión en vivo original, por lo que aquí debemos garantizar la capacidad de configuración de la transmisión en vivo interactiva en varias líneas de productos educativos. La configuración mencionada aquí es similar a la configuración de otros módulos y acceso a componentes en el grupo de componentes públicos de educación. También se basa en la base de caché del componente general de educación, que se lee en la configuración cuando se carga la página en vivo o la página única del proyecto (contexto institucional) Configuración, configuración de una tecla.
Análisis de pros y contras
Las ventajas de utilizar este diseño son
1. Todas las solicitudes del servidor se envían a través de la página web, lo que reduce el costo de mantenimiento del maestro;
2. La configurabilidad del módulo. En diferentes líneas de negocio, se puede configurar para decidir si se conecta a la retransmisión interactiva en directo;
3. Los componentes son granulares. En diferentes módulos, el lado del profesor puede acceder al componente de chat y el componente interactivo, el componente de micrófono y el lado del estudiante solo puede acceder al componente de lista interactiva;
4. Se basa en la mayor medida en las funciones implementadas por el sdk de Yunxin existente, que puede cumplir con los requisitos en un tiempo relativamente corto.
El problema
1. El proceso de Yingmai es más complicado, porque involucra múltiples extremos y la depuración en cada extremo es una pérdida de tiempo. Este es también el propósito de la organización de este artículo. Después de comprender el proceso de cada extremo, cada extremo puede localizar primero el final del problema durante la depuración, y luego el problema se puede encontrar en un enlace determinado de manera específica.
2. Debido a que se lleva a cabo sobre la base de la iteración original, muchos componentes no están encapsulados en componentes estándar educativos, pero bajo la premisa de una lógica clara, se pueden optimizar en iteraciones posteriores.
3. Optimice el método de implementación de front-end.
resumir
A través de este artículo, resolveremos la lógica de cada extremo de la transmisión interactiva en vivo para facilitar el acceso posterior a la comprensión del proceso de transmisión interactiva en vivo. Para el cliente y el profesor, puede comprender la implementación de las interfaces y los mensajes proporcionados por el front-end. Si es necesario acceder al módulo de transmisión interactiva en vivo en otro proyecto posterior, se puede acceder y depurar rápidamente, y al mismo tiempo, puede optimizar aún más los problemas existentes planteados anteriormente.
|
Ingrese el correo electrónico para recibir una sorpresa
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikáans
sq.fmuser.org -> albanés
ar.fmuser.org -> árabe
hy.fmuser.org -> Armenio
az.fmuser.org -> azerbaiyano
eu.fmuser.org -> Vasco
be.fmuser.org -> bielorruso
bg.fmuser.org -> Bulgaria
ca.fmuser.org -> catalán
zh-CN.fmuser.org -> chino (simplificado)
zh-TW.fmuser.org -> Chino (tradicional)
hr.fmuser.org -> croata
cs.fmuser.org -> checo
da.fmuser.org -> danés
nl.fmuser.org -> Holandés
et.fmuser.org -> estonio
tl.fmuser.org -> filipino
fi.fmuser.org -> finlandés
fr.fmuser.org -> Francés
gl.fmuser.org -> gallego
ka.fmuser.org -> georgiano
de.fmuser.org -> alemán
el.fmuser.org -> Griego
ht.fmuser.org -> criollo haitiano
iw.fmuser.org -> hebreo
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> islandés
id.fmuser.org -> indonesio
ga.fmuser.org -> irlandés
it.fmuser.org -> Italiano
ja.fmuser.org -> japonés
ko.fmuser.org -> coreano
lv.fmuser.org -> letón
lt.fmuser.org -> Lituania
mk.fmuser.org -> macedonio
ms.fmuser.org -> malayo
mt.fmuser.org -> maltés
no.fmuser.org -> Noruega
fa.fmuser.org -> persa
pl.fmuser.org -> polaco
pt.fmuser.org -> portugués
ro.fmuser.org -> Rumano
ru.fmuser.org -> ruso
sr.fmuser.org -> serbio
sk.fmuser.org -> eslovaco
sl.fmuser.org -> Eslovenia
es.fmuser.org -> español
sw.fmuser.org -> Swahili
sv.fmuser.org -> sueco
th.fmuser.org -> Tailandés
tr.fmuser.org -> turco
uk.fmuser.org -> ucraniano
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamita
cy.fmuser.org -> galés
yi.fmuser.org -> Yiddish
FMUSER ¡Transmite video y audio sin cables más fácilmente!
Contacto
Dirección:
Habitación No.305 Edificio HuiLan No.273 Huanpu Road Guangzhou China 510620
Categorías
Newsletter