Abonnieren: Grundlagen

In dieser Anleitung wird gezeigt, wie man verfügbare Streams in einer Sitzung erkennt, sie abonniert und anschließend wieder abbestellt. Sie hören auf neue Streams, fügen sie an Ihre Benutzeroberfläche an und bereinigen sie korrekt.

Ströme erkennen

Hören Sie nach neuen Streams in einer Sitzung, damit Sie sie abonnieren können, sobald sie erscheinen.

Die <OTSession> Komponente versendet eine streamCreated Ereignis, wenn ein neuer Stream (ein anderer als der eigene) in einer Sitzung erstellt wird. Ein Stream wird erstellt, wenn ein Client einen Stream in der Sitzung veröffentlicht. Der streamCreated Ereignis wird auch für jeden vorhandenen Stream in der Sitzung ausgelöst, wenn Sie zum ersten Mal eine Verbindung herstellen. Das streamCreated-Ereignisobjekt enthält Details über den Stream, einschließlich Verbindungsdaten, Videoquellentyp ("Kamera" oder "Bildschirm") und mehr.

import OTSession from 'opentok-react-native';

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

Sobald Sie den neuen Stream entdeckt haben, abonnieren Sie ihn wie im nächsten Abschnitt beschrieben.

Abonnieren Sie einen Stream

Verwenden Sie die Sitzung, um einen Remote-Stream zu abonnieren und ihn in Ihrer Benutzeroberfläche zu rendern.

Um alle Streams in der Sitzung zu abonnieren, fügen Sie ein OTSubscriber-Objekt als Chile des OTSession-Objekts hinzu:

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

Nachdem der Client eine Verbindung zur Sitzung hergestellt hat, fügt das OTSubscriber-Objekt Ansichten für Abonnentenvideos hinzu, wenn Streams anderer Clients in der Sitzung verfügbar werden.

Das OTSubscriber-Objekt sendet eine connected Ereignis, wenn ein Abonnent das Streaming erfolgreich startet. Es wird ein Fehlerereignis ausgelöst, wenn es ein error Abonnieren. Einstellen eventHandlers der Komponente OTSubscriber, und setzen Sie die connected und error Eigenschaften dieses Objekts an Callback-Funktionen:

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

Abmelden (JavaScript)

So beenden Sie die Wiedergabe eines Streams, den Sie abonniert haben:

session.unsubscribe(subscriber);

Das Subscriber-Objekt wird zerstört, und die Stream-Anzeige wird aus dem HTML-DOM entfernt.