Swift

Control de audio mediante eventos de sesión

Por último, utiliza los métodos del delegado de sesión de Vonage para manejar el tono de llamada. Después de publicar el vídeo, el doPublish activa el inicio del tono. Cuando el flujo de autosuscripción se conecta, el método subscriberDidConnectToStream detiene el tono de llamada.

extension VonageVideoManager: OTPublisherDelegate {
    func publisher(_ publisher: OTPublisherKit, streamCreated stream: OTStream) {
        print("Publishing")
        // play the ringtone for 10 seconds , it is fun...
        // doSubscribe method will stop it later
        DispatchQueue.main.asyncAfter(deadline: .now() + 10) {
            self.doSubscribe(stream)
        }
    }
    
    func publisher(_ publisher: OTPublisherKit, streamDestroyed stream: OTStream) {
        print("publisher \(publisher) streamDestroyed \(stream)")
        
        if let subStream = subscriber?.stream, subStream.streamId == stream.streamId {
            cleanupSubscriber()
        }
        
        cleanupPublisher()
    }
    
    func publisher(_ publisher: OTPublisherKit, didFailWithError error: OTError) {
        print("publisher didFailWithError \(error)")
        cleanupPublisher()
    }
}

extension VonageVideoManager: OTSubscriberDelegate {
    
    func subscriberDidConnect(toStream subscriberKit: OTSubscriberKit) {
        print("subscriberDidConnectToStream (\(subscriber?.stream?.connection.connectionId ?? ""))")
        
        // Stop ringtone from playing, as the subscriber will connect shortly
        myAudioDevice?.stopRingtone()
        guard let view = self.subscriber?.view else { return }
        subView = AnyView(Wrap(view))
    }
    
    func subscriber(_ subscriber: OTSubscriberKit, didFailWithError error: OTError) {
        print("Subscriber failed: \(error.localizedDescription)")
    }
}

Controlador de audio personalizado

Aprenda a utilizar un controlador de audio personalizado para personalizar el audio de la transmisión del editor y del suscriptor. Utilizará el controlador de audio personalizado cuando desee iniciar y detener el audio reproducir su propio archivo de audio y hacer cualquier cosa fuera del comportamiento predeterminado del chat de vídeo en directo proporcionado por el SDK.

Disponible en:
Kotlin Swift
Pasos
1
Introducción
2
Primeros pasos
3
Crear un nuevo proyecto
4
Añadir el SDK de vídeo de Vonage
5
Configuración de la autenticación
6
Visión general
7
Crear la clase de controlador de audio personalizado
8
Implementar la lógica "Reproducir tono de llamada
9
Implementar la lógica "Detener tono de llamada
10
Integración con Vonage Video Manager
11
Control de audio mediante eventos de sesión
12
Cómo funciona
13
Conclusión