S'abonner : Notions de base

Ce guide montre comment détecter les flux disponibles dans une session, s'y abonner et s'en désabonner. Vous écouterez les nouveaux flux, les attacherez à votre interface utilisateur et les nettoierez correctement.

Détecter les flux

Écouter les nouveaux flux d'une session afin de pouvoir s'y abonner dès leur apparition.

Les <OTSession> envoie un streamCreated lorsqu'un nouveau flux (autre que le vôtre) est créé dans une session. Un flux est créé lorsqu'un client publie un flux dans la session. L'événement streamCreated est également déclenché pour chaque flux existant dans la session lors de la première connexion. L'objet d'événement streamCreated contient des informations sur le flux, notamment les données de connexion, le type de source vidéo ("caméra" ou "écran"), 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);
    },
  }}
/>

Une fois le nouveau flux détecté, abonnez-vous à lui comme décrit dans la section suivante.

S'abonner à un flux

Utilisez la session pour vous abonner à un flux distant et le rendre dans votre interface utilisateur.

Pour s'abonner à tous les flux de la session, ajoutez un objet OTSubscriber en tant que chile de l'objet OTSession :

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

Une fois le client connecté à la session, l'objet OTSubscriber ajoute des vues pour les vidéos d'abonnés lorsque les flux d'autres clients deviennent disponibles dans la session.

L'objet OTSubscriber envoie un connected lorsqu'un abonné démarre avec succès la diffusion en continu. Il envoie un événement d'erreur s'il y a un problème de error abonnement. Définir un eventHandlers du composant OTSubscriber, et définir la propriété connected et error de cet objet à des fonctions de rappel :

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

Se désinscrire (JavaScript)

Pour arrêter la lecture d'un flux auquel vous êtes abonné :

session.unsubscribe(subscriber);

L'objet Subscriber est détruit et l'affichage du flux est supprimé du DOM HTML.