Conectando-se à sessão
Em seguida, vamos nos conectar à sessão do Vonage Video. É necessário fazer isso antes de poder publicar seu fluxo de áudio e vídeo na sessão ou visualizar os fluxos dos outros participantes.
- Adicione um
sessionpropriedade da classe ViewController:
@interface ViewController()
@property (nonatomic) OTSession *session;
@end
O OTSession A classe está definida no SDK do iOS. Ela representa uma sessão do Vonage Video e inclui métodos para interagir com a sessão.
- Adicione um método para instanciar o
OTSessionobjeto e chamar seu[OTSession connectWithToken: error:]método. Em seguida, você pode chamá-lo emviewDidLoad:
- (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);
}
}
O [OTSession initWithApplicationId:sessionId:delegate:] O método recebe três parâmetros:
- Seu ID do aplicativo Vonage Video
- O ID da sessão
- O objeto que implementa a OTSessionDelegate protocolo
O [OTSession connectWithToken: error:] O método conecta o aplicativo cliente à sessão do Vonage Video. É necessário estabelecer a conexão antes de enviar ou receber fluxos de áudio e vídeo na sessão (ou antes de interagir com a sessão de qualquer forma). O método recebe dois parâmetros:
tokené o token de autenticação que permite que este cliente se conecte à sessão do Vonage Video.errorestá definido como umOTErrorobjeto, caso ocorra um erro de forma síncrona ao chamar o método.
- Altere a declaração da interface do ViewController para indicar que a classe implementa a
OTSessionDelegateprotocolo:
@interface ViewController() <OTSessionDelegate>
A seguir, vamos implementar os métodos da OTSessionDelegate protocolo. Adicione o código a seguir ao final do ViewController classe (antes da @end (declaração):
# 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.");
}
Este protocolo inclui métodos para lidar com eventos relacionados à sessão:
- Quando o cliente se conecta à sessão do Vonage Video, o
[OTSessionDelegate sessionDidConnect:]A mensagem é enviada. - Se o cliente não conseguir se conectar à sessão do Vonage Video, o
[OTSessionDelegate session:didFailWithError:]A mensagem é enviada. - Quando o cliente se desconecta da sessão do Vonage Video, o
[OTSessionDelegate sessionDidDisconnect:]A mensagem é enviada. - Quando outro cliente publica um fluxo na sessão do Vonage Video, o
[OTSessionDelegate session:streamCreated:]A mensagem é enviada. - Quando outro cliente interrompe a transmissão de um stream para a sessão do Vonage Video, o
[OTSessionDelegate session:streamDestroyed:]A mensagem é enviada.
Por enquanto, o aplicativo exibe mensagens no console do depurador sempre que algum desses eventos ocorre.
Faça a depuração do seu aplicativo. Se o aplicativo se conectar com sucesso à sessão do Vonage Video, o [OTSessionDelegate sessionDidConnect:] O método deve exibir uma mensagem no console de depuração.
Bate-papo por vídeo básico
Aprenda os conceitos básicos da plataforma Vonage Video API, incluindo como os usuários podem se comunicar por vídeo, voz e mensagens. Explore um fluxo básico da Vonage Video API.