Suscripción a flujos de otros clientes
Por último, queremos que los clientes puedan suscríbase a a (o ver) los flujos de otros clientes en la sesión:
- Añadir un
subscribera la propiedadViewControllerclase:
@interface ViewController() <OTSessionDelegate, OTPublisherDelegate>
@property (nonatomic) OTSession *session;
@property (nonatomic) OTPublisher *publisher;
@property (nonatomic) OTSubscriber *subscriber;
@end
En OTSuscriptor está definida en el SDK de iOS. Utiliza la cámara y el micrófono del dispositivo para suscribir una sesión de transmisión de Vonage Video.
- Modificar la aplicación del
[OTSessionDelegate session: streamCreated](uno de los métodosOTSessionDelegatecallbacks) para incluir código para suscribirse a los flujos de otros clientes la sesión:
- (void)session:(OTSession*)session
streamCreated:(OTStream *)stream
{
_subscriber = [[OTSubscriber alloc] initWithStream:stream
delegate:self];
OTError *error = nil;
[_session subscribe:_subscriber error:&error];
if (error)
{
NSLog(@"Unable to subscribe (%@)", error.localizedDescription);
return;
}
[_subscriber.view setFrame:[UIScreen mainScreen].bounds];
[self.view insertSubview:_subscriber.view atIndex:0];
}
Cuando otro cliente publica un flujo en una sesión, se llama a este método y se emite un comando OTStream . La dirección OTStream está definida en el SDK de iOS y representa un flujo de audio y video en la sesión de Vonage Video. El código inicializa una instancia de la clase OTSubscriber definida en el SDK de iOS. La dirección OTSubscriber() recibe dos parámetros: El OTStream (para el flujo que desea ver) y el objeto que implementa la función OTSubscriberDelegate protocolo.
- Cambiar el
ViewControllerpara indicar que la clase implementa la interfazOTSubscriberDelegateprotocolo:
@interface ViewController() <OTSessionDelegate, OTPublisherDelegate,OTSubscriberDelegate>
A continuación implementaremos métodos del protocolo OTSessionDelegate. Añade el siguiente código al final de la clase ViewController (antes de la clase @end declaración):
# pragma mark - OTSubscriber delegate callbacks
- (void)subscriberDidConnectToStream:(OTSubscriberKit *)subscriber {
NSLog(@"The subscirber: %@ did connect to the stream", subscriber);
}
- (void)subscriber:(OTSubscriberKit*)subscriber
didFailWithError:(OTError*)error
{
NSLog(@"subscriber %@ didFailWithError %@",
subscriber.stream.streamId,
error);
}
- Si el cliente no puede conectarse a la sesión de Vonage Video, aparecerá un
OTErrorse pasa al objetosubscriber(_: didFailWithError:)método.
Videochat básico
Conoce los conceptos básicos de la plataforma de la Video API de Vonage, incluyendo cómo los usuarios pueden comunicarse a través de video, voz y mensajería. Explora un flujo básico de la Video API de Vonage.