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.
Pasos
1
Introducción2
Primeros pasos3
Crear un nuevo proyecto4
Añadir el SDK de vídeo de Vonage5
Configuración de la autenticación6
Visión general7
Crear la clase de controlador de audio personalizado8
Implementar la lógica "Reproducir tono de llamada9
Implementar la lógica "Detener tono de llamada10
Integración con Vonage Video Manager11
Control de audio mediante eventos de sesión12
Cómo funciona13
Conclusión