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 der Klasse ViewController zu:
@interface ViewController()
@property (nonatomic) OTSession *session;
@end
Die OTSession Klasse ist im iOS SDK definiert. Sie stellt eine Vonage Video-Sitzung dar und enthält Methoden zur Interaktion mit der Sitzung.
- Hinzufügen einer Methode zur Instanziierung der
OTSessionObjekt und rufen dessen[OTSession connectWithToken: error:]Methode. Dann können Sie sie inviewDidLoad:
- (void)viewDidLoad {
[super viewDidLoad];
[self connectToAnOpenTokSession];
}
- (void)connectToAnOpenTokSession {
_session = [[OTSession alloc] initWithApplicationId:kAppId sessionId:kSessionId delegate:self];
NSError *error;
[_session connectWithToken:kToken error:&error];
if (error) {
NSLog(@"%@", error);
}
}
Die [OTSession initWithApplicationId:sessionId:delegate:] erhält drei Parameter:
- Ihre Vonage Video APP ID
- Die Sitzungs-ID
- Das Objekt, das die OTSessionDelegate Protokoll
Die [OTSession connectWithToken: error:] Methode 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). Die Methode benötigt zwei Parameter:
tokenist das Authentifizierungs-Token für diesen Client zur Verbindung mit der Vonage Video-Sitzung.errorwird auf eineOTErrorObjekt, wenn beim synchronen Aufruf der Methode ein Fehler auftritt.
- Ändern Sie die ViewController-Interface-Deklaration, um anzugeben, dass die Klasse die
OTSessionDelegateProtokoll:
@interface ViewController() <OTSessionDelegate>
Als nächstes werden wir Methoden der OTSessionDelegate Protokoll. Fügen Sie den folgenden Code an das Ende der Datei ViewController Klasse (bevor die Klasse @end Anweisung):
# pragma mark - OTSession delegate callbacks
- (void)sessionDidConnect:(OTSession*)session
{
NSLog(@"The client connected to the session.");
}
- (void)sessionDidDisconnect:(OTSession*)session
{
NSLog(@"The client disconnected from the OpenTok session.");
}
- (void) session:(OTSession*)session
didFailWithError:(OTError*)error
{
NSLog(@"The client failed to connect to the OpenTok session: (%@)", error);
}
- (void)session:(OTSession*)session
streamCreated:(OTStream *)stream
{
NSLog(@"A stream was created in the session.");
}
- (void)session:(OTSession*)session
streamDestroyed:(OTStream *)stream
{
NSLog(@"A stream was destroyed in the session.");
}
Dieses Protokoll enthält Methoden zur Behandlung von Ereignissen im Zusammenhang mit der Sitzung:
- Wenn der Client eine Verbindung zur Vonage Video-Sitzung herstellt, wird die
[OTSessionDelegate sessionDidConnect:]Nachricht gesendet wird. - Wenn der Client keine Verbindung zur Vonage Video-Sitzung herstellen kann, wird die
[OTSessionDelegate session:didFailWithError:]Nachricht gesendet wird. - Wenn der Client die Verbindung mit der Vonage Video-Sitzung trennt, wird die
[OTSessionDelegate sessionDidDisconnect:]Nachricht gesendet wird. - Wenn ein anderer Client einen Stream für die Vonage Video-Sitzung veröffentlicht, wird der
[OTSessionDelegate session:streamCreated:]Nachricht gesendet wird. - Wenn ein anderer Client die Veröffentlichung eines Streams für die Vonage Video-Sitzung beendet, wird die
[OTSessionDelegate session:streamDestroyed:]Nachricht gesendet 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 [OTSessionDelegate sessionDidConnect:] Methode sollte auf der Debug-Konsole ausgegeben werden.
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.