S'abonner aux flux d'autres clients
Enfin, nous voulons que les clients puissent souscrire à (ou voir) les flux d'autres clients dans la session :
- Ajouter un
subscriberà la propriétéViewControllerclasse :
@interface ViewController() <OTSessionDelegate, OTPublisherDelegate>
@property (nonatomic) OTSession *session;
@property (nonatomic) OTPublisher *publisher;
@property (nonatomic) OTSubscriber *subscriber;
@end
Les Abonné OTS est définie dans le SDK iOS. Elle utilise la caméra et le microphone de l'appareil pour souscrire à une session vidéo Vonage.
- Modifier la mise en œuvre de la
[OTSessionDelegate session: streamCreated](l'une des méthodesOTSessionDelegate) pour inclure du code permettant de s'abonner aux flux des autres clients de la session :
- (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];
}
Lorsqu'un autre client publie un flux dans une session, cette méthode est appelée et un message OTStream est transmis. L'objet OTStream est définie dans le SDK iOS et représente un flux audio-vidéo dans la session Vonage Video. Le code initialise une instance de la classe OTSubscriber définie dans le SDK iOS. La classe OTSubscriber() prend deux paramètres : le OTStream (pour le flux que vous souhaitez visualiser) et l'objet qui implémente la méthode OTSubscriberDelegate protocole.
- Modifier le
ViewControllerpour indiquer que la classe met en œuvre l'interfaceOTSubscriberDelegateprotocole :
@interface ViewController() <OTSessionDelegate, OTPublisherDelegate,OTSubscriberDelegate>
Ensuite, nous allons implémenter les méthodes du protocole OTSessionDelegate. Ajoutez le code suivant à la fin de la classe ViewController (avant la section @end ) :
# 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 le client ne parvient pas à se connecter à la session Vonage Video, un message d'erreur s'affiche.
OTErrorest passé dans l'objetsubscriber(_: didFailWithError:)méthode.
Chat vidéo de base
Apprenez les concepts de base de la plateforme Video API de Vonage, y compris la façon dont les utilisateurs peuvent communiquer par le biais de la vidéo, de la voix et de la messagerie. Explorer un flux de base de l'API Video de Vonage.