Cambiar la entrada de audio de la llamada
Esta guía explica cómo cambiar la entrada de audio de la llamada con el Vonage Client SDK. Antes de comenzar, asegúrate de haber agregado el SDK a tu aplicación y (Android, iOS, JS) y podrá escriba a o reciba llamadas.
NOTA: Actualmente no hay soporte para el enrutamiento de salida de audio en los navegadores móviles y Safari, por lo que los siguientes ejemplos de JavaScript sólo son aplicables a los navegadores de escritorio como se detalla en este tabla de compatibilidad.
Android
¿Hay alguna forma de cambiar la entrada para Android?
iOS
¿Hay alguna forma de cambiar la entrada para iOS?
JavaScript (escritorio)
¿Se puede cambiar la entrada en los navegadores móviles?
Obtener dispositivos de entrada de audio
Antes de intentar cambiar los dispositivos de entrada de audio, debes comprobar de qué dispositivos dispones:
const audioInputDevices = await navigator.mediaDevices.enumerateDevices().then(devices => devices.filter(d => d.kind == "audioinput"));
Cambio de dispositivos de entrada de audio
NOTA: Debe haber una llamada en curso para poder cambiar el dispositivo de entrada de audio.
Con el ID de llamada actual, puede obtener la conexión entre pares con el Client SDK:
// After creating a session
const pc = client.getPeerConnection(curentCallId);
A continuación, obtendrá la pista de audio del flujo local desde el dispositivo de entrada que haya seleccionado:
const localStream = await navigator.mediaDevices.getUserMedia({
audio: { deviceId: { exact: deviceId } }
});
const [track] = localStream.getAudioTracks();
Por último, sustituirá la pista del emisor de la conexión paritaria responsable de enviar el audio a la llamada por la pista de audio local del dispositivo de entrada que haya seleccionado:
const sender = pc.getSenders().find(sender => sender.track.kind === track.kind);
sender.replaceTrack(track);
¿Debo crear una aplicación de muestra y colocarla en el repositorio GitHub de Vonage Community?