Publicación de un flujo en la sesión
Cuando la aplicación se conecta a la sesión de Vonage Video, queremos que publique una transmisión de audio y video en la sesión, utilizando la cámara y el micrófono del dispositivo:
- Añade un
publishera la propiedadViewControllerclase:
@interface ViewController() <OTSessionDelegate>
@property (nonatomic) OTSession *session;
@property (nonatomic) OTPublisher *publisher;
@end
La clase OTPublisher está definida en el SDK de iOS. Utiliza la cámara y el micrófono del dispositivo para publicar una sesión de transmisión de Vonage Video.
- Modificar la aplicación del
sessionDidConnect(_:)Método para incluir código que permita publicar un flujo en la sesión:
- (void)sessionDidConnect:(OTSession*)session
{
OTPublisherSettings *settings = [[OTPublisherSettings alloc] init];
_publisher = [[OTPublisher alloc]
initWithDelegate:self
settings:settings];
OTError *error = nil;
[_session publish:_publisher error:&error];
if (error)
{
NSLog(@"Unable to publish (%@)", error.localizedDescription);
return;
}
CGSize screenSize = [UIScreen mainScreen].bounds.size;
CGRect rect = CGRectMake(screenSize.width - 150 - 20, screenSize.height - 150 - 20, 150, 150);
[_publisher.view setFrame:rect];
[self.view addSubview:_publisher.view];
}
Cuando la aplicación se conecta a una sesión, inicializa una instancia de la OTPublisher, definido en el SDK de iOS. El [OTPublisher initWithDelegate:] recibe dos parámetros: el objeto que implementa el protocolo OTPublisherDelegate y un parámetro settingsobjeto.
A continuación, el código pasa el OTPublisher como parámetro del [OTSession publish:] método. Este método publica una transmisión de audio y video en la sesión de Vonage Video, utilizando la cámara y el micrófono del dispositivo iOS. (Ten en cuenta que en el simulador de Xcode, el SDK de iOS utiliza un video de prueba al publicar una transmisión).
El OTPublisher tiene un objeto view que es una propiedad UIView objeto. Esta vista muestra el vídeo capturado desde la cámara del dispositivo. El código añade esta vista como una subvista de la vista principal del ViewController.
- Cambiar el
ViewControllerpara indicar que la clase implementa la interfazOTPublisherDelegateprotocolo:
@interface ViewController() <OTSessionDelegate, OTPublisherDelegate>
A continuación, implementaremos los métodos de la OTSessionDelegate protocolo. Añada el siguiente código al final del archivo ViewController (antes de la clase @end declaración):
# pragma mark - OTPublisher delegate callbacks
- (void)publisher:(OTPublisherKit*)publisher
didFailWithError:(OTError*) error
{
NSLog(@"The publisher failed: %@", error);
}
Si el cliente no consigue publicar en la sesión de Vonage Video, un OTError el objeto se pasa al [OTPublisherDelegate publisher:didFailWithError:] método.
Depura tu aplicación. Si la aplicación se conecta correctamente a la sesión de Vonage Video, publicará una transmisión en la sesión y podrás ver el vídeo del emisor en la aplicación.
Videochat básico
Aprende los conceptos básicos de la plataforma Vonage Video API, incluyendo cómo los usuarios pueden comunicarse a través de vídeo, voz y mensajería. Explora un flujo básico de la Video API de Vonage.