Verbinden mit der Sitzung
Als Nächstes werden wir uns mit der Vonage Video-Sitzung verbinden. Dies ist erforderlich, bevor Sie Ihren Audio-/Videostream in der Sitzung veröffentlichen oder die Streams anderer Teilnehmer anzeigen können.
- Hinzufügen einer
sessionEigenschaft zur Klasse MainActivity (direkt nach den letzten Zeilen, die Sie in Schritt 3):
private Session session;
Die Klasse Session ist im Android SDK definiert. Sie stellt eine Vonage Video-Sitzung dar und enthält Methoden zur Interaktion mit der Sitzung.
- Um die Protokollierung zu erleichtern, fügen Sie eine
TAGEigenschaft am Anfang derMainActivityKlasse:
private static final String TAG = "MainActivity";
- In der
requestPermissions()Methode, die Sie im letzten Schritt erstellt haben, fügen Sie die folgenden Codezeilen unter der// initialize and connect to the sessionKommentar zur Instanziierung des Session-Objekts und zum Aufruf seinerconnect(token)Methode:
initializeSession(VonageVideoConfig.APP_ID, VonageVideoConfig.SESSION_ID, VonageVideoConfig.TOKEN);
- unter dem
requestPermissions()Methode fügen Sie die folgenden Codezeilen hinzu:
private void initializeSession(String appId, String sessionId, String token) {
Log.i(TAG, "appId: " + appId);
Log.i(TAG, "sessionId: " + sessionId);
Log.i(TAG, "token: " + token);
session = new Session.Builder(this, apiKey, sessionId).build();
session.setSessionListener(sessionListener);
session.connect(token);
}
Dieser Code verwendet die Session.Builder() um ein Session-Objekt zu instanziieren. Der Konstruktor benötigt drei Parameter:
- Der mit diesem Prozess verbundene Android-Anwendungskontext
- Die Vonage Video APP ID
- Die Sitzungs-ID
Die Session.Builder.build() Methode gibt eine neue Session-Instanz zurück.
Die Session.setSessionListener() Methode legt das Objekt fest, das die SessionListener-Schnittstelle implementiert. Diese Schnittstelle umfasst Callback-Methoden, die als Reaktion auf sitzungsbezogene Ereignisse aufgerufen werden. (Wir werden sie in den nächsten Schritten implementieren).
Die Session.connect() Methode der session Objekt verbindet die Client-Anwendung mit der Vonage Video-Sitzung. Sie müssen die Verbindung herstellen, bevor Sie Audio-/Videoströme in der Sitzung senden oder empfangen (oder bevor Sie in irgendeiner Weise mit der Sitzung interagieren). Das connect() Methode nimmt einen Parameter entgegen: das Authentifizierungs-Token für diesen Client, um eine Verbindung zur Sitzung herzustellen.
- Als Nächstes werden wir die
sessionListenerEigenschaft. Fügen Sie den folgenden Code am Anfang der DateiMainActivityKlasse:
private Session.SessionListener sessionListener = new Session.SessionListener() {
@Override
public void onConnected(Session session) {
Log.d(TAG, "onConnected: Connected to session: " + session.getSessionId());
}
@Override
public void onDisconnected(Session session) {
Log.d(TAG, "onDisconnected: Disconnected from session: " + session.getSessionId());
}
@Override
public void onStreamReceived(Session session, Stream stream) {
Log.d(TAG, "onStreamReceived: New Stream Received " + stream.getStreamId() + " in session: " + session.getSessionId());
}
@Override
public void onStreamDropped(Session session, Stream stream) {
Log.d(TAG, "onStreamDropped: Stream Dropped: " + stream.getStreamId() + " in session: " + session.getSessionId());
}
@Override
public void onError(Session session, OpentokError opentokError) {
Log.e(TAG, "Session error: " + opentokError.getMessage());
}
};
- Wenn der Client eine Verbindung zur Sitzung herstellt, wird die Implementierung des
SessionListener.onConnected(session)Methode aufgerufen wird. - Wenn der Client die Verbindung zur Sitzung trennt, wird die Implementierung des
SessionListener.onDisconnected(session)Methode aufgerufen wird. - Wenn der Client keine Verbindung zur Sitzung herstellen kann, wird die Implementierung der
SessionListener.onError(session, error)Methode aufgerufen wird. - Wenn ein anderer Client einen Stream in der Sitzung veröffentlicht, wird die Implementierung des
SessionListener.onStreamReceived(session, stream)Methode aufgerufen wird. - Wenn ein anderer Client die Veröffentlichung eines Streams für die Sitzung beendet, wird die Implementierung der
SessionListener.onStreamDropped(session, stream)Methode aufgerufen wird.
Im Moment gibt die Anwendung auf der Debugger-Konsole aus, wenn eines dieser Ereignisse eintritt.
Debuggen Sie Ihre Anwendung. Wenn die Anwendung erfolgreich eine Verbindung mit der Vonage Video-Sitzung herstellt, wird die SessionListener.onConnected(session) Methode protokolliert auf der Debug-Konsole.
- Fügen Sie die folgenden Methoden zur
MainActivityKlasse, um die Sitzung über Ereignisse im Lebenszyklus von Aktivitäten zu informieren:
@Override
protected void onPause() {
super.onPause();
if (session != null) {
session.onPause();
}
}
@Override
protected void onResume() {
super.onResume();
if (session != null) {
session.onResume();
}
}
Einfacher Video-Chat
Lernen Sie die grundlegenden Concepts der Vonage Video API-Plattform kennen und erfahren Sie, wie Benutzer über Video, Voice und Messaging kommunizieren können. Erkunden Sie einen grundlegenden Ablauf der Vonage Video API.