Suscríbase: Conceptos básicos

Esta guía muestra cómo detectar los flujos disponibles en una sesión, suscribirse a ellos y darse de baja cuando haya terminado. Escucharás nuevos streams, los adjuntarás a tu UI y los limpiarás correctamente.

Detectar flujos

Escucha los nuevos flujos en una sesión para poder suscribirte cuando aparezcan.

En <OTSession> envía un streamCreated cuando se crea un nuevo flujo (que no sea el suyo) en una sesión. Un flujo se crea cuando un cliente publica un flujo en la sesión. La dirección streamCreated también se envía para cada flujo existente en la sesión cuando se conecta por primera vez. El objeto de evento streamCreated incluye detalles sobre el flujo, incluidos los datos de conexión, el tipo de fuente de vídeo ('cámara' o 'pantalla'), etc.

import OTSession from 'opentok-react-native';

<OTSession
  apiKey={apiKey}
  sessionId={sessionId}
  token={token}
  eventHandlers={{
    streamCreated: event => {
      console.log('Stream created -- stream ID:', event.streamId);
    },
  }}
/>

Una vez detectado el nuevo flujo, suscríbase a él como se describe en la siguiente sección.

Suscribirse a un flujo

Utiliza la sesión para suscribirte a un flujo remoto y renderizarlo en tu interfaz de usuario.

Para suscribirse a todos los flujos de la sesión, añada un objeto OTSubscriber como chile del objeto OTSession:

<OTSession
  applicationId="the Application ID"
  sessionId="the session ID"
  token="the token">
  <OTSubscriber/>
</OTSession>

Una vez que el cliente se conecta a la sesión, el objeto OTSubscriber añade vistas para los vídeos de los suscriptores cuando las secuencias de otros clientes están disponibles en la sesión.

El objeto OTSubscriber envía un comando connected cuando un abonado inicia correctamente la transmisión. Envía un evento de error si hay un error suscribiendo. Establecer un eventHandlers prop del componente OTSubscriber, y establezca la propiedad connected y error de ese objeto a funciones de devolución de llamada:

<OTSubscriber
eventHandlers={{
  connected: () => {
    console.log('The subscriber started streaming.');
  },
  error: () => {
    console.log('The subscriber failed.');
  }
}}/>

Cancelar suscripción (JavaScript)

Para detener la reproducción de un flujo al que estás suscrito:

session.unsubscribe(subscriber);

El objeto Subscriber se destruye y la visualización del flujo se elimina del DOM HTML.