Java

Abonnieren von anderen Kundenströmen

Wir möchten, dass die Kunden in der Lage sind abonnieren auf die Streams anderer Clients in der Sitzung zugreifen (oder diese anzeigen):

  1. Hinzufügen einer subscriber Eigenschaft zur Klasse MainActivity (nach der Deklaration der publisher Eigenschaft):

Die Klasse Subscriber ist im Android SDK definiert. Sie definiert ein Objekt, das ein Client zum Abonnieren (Anzeigen) eines von einem anderen Client veröffentlichten Streams verwendet.

  1. Ändern Sie die Implementierung der onStreamReceived(session, stream) Methode (einer der SessionListener-Callbacks), um Code zum Abonnieren der Streams anderer Clients in die Sitzung aufzunehmen:
  1. So protokollieren Sie Ereignisse Hinzufügen subscriberListener untenstehendes Grundstück sessionListener der MainActivity:

Wenn ein anderer Client einen Stream in einer Sitzung veröffentlicht, wird diese Methode aufgerufen und ein Stream-Objekt wird übergeben. Die Stream-Klasse ist im Android SDK definiert und stellt einen Audio-Video-Stream in der Sitzung dar.

Der Code initialisiert eine Instanz der Klasse Subscriber, die im Android SDK definiert ist. Die Subscriber.Builder() Konstruktor benötigt zwei Parameter:

  • Der mit diesem Prozess verbundene Android-Anwendungskontext.
  • Das Stream-Objekt (für den Stream, den Sie anzeigen möchten)

Die Session.subscribe(subscriber) Methode abonniert den empfangenen Stream.

subscriberViewContainer.addView(subscriber.getView()) platziert die Ansicht des neuen abonnierten Streams auf dem Bildschirm.

  1. Ändern Sie die Implementierung der onStreamDropped(Session session, Stream stream) Methode (eine weitere der SessionListener Callbacks):

subscriberViewContainer.removeAllViews() entfernt die Ansicht eines Abonnenten, sobald der Stream unterbrochen wurde.