Alterando a entrada de áudio da chamada

Este guia explica como alterar a entrada de áudio das chamadas usando o Vonage Client SDK. Antes de começar, certifique-se de ter adicionado o SDK ao seu aplicativo e (Android, iOS, JS) e você consegue fazer ou receber chamadas.

NOTA: Atualmente, não há suporte para o roteamento de saída de áudio em navegadores móveis e no Safari; portanto, os exemplos de JavaScript abaixo se aplicam apenas a navegadores de desktop, conforme detalhado neste tabela de compatibilidade.

Android

Existe alguma maneira de alterar a entrada no Android?

iOS

Existe alguma maneira de alterar a entrada no iOS?

JavaScript (computador)

É possível alterar a entrada em navegadores de celular?

Obtendo dispositivos de entrada de áudio

Antes de tentar alterar os dispositivos de entrada de áudio, verifique quais dispositivos estão disponíveis:

const audioInputDevices = await navigator.mediaDevices.enumerateDevices().then(devices => devices.filter(d => d.kind == "audioinput"));

Como alterar os dispositivos de entrada de áudio

NOTA: É necessário que haja uma chamada em andamento para que você possa alterar o dispositivo de entrada de áudio.

Com o ID da chamada atual, você pode obter a conexão entre pares usando o Client SDK:

// After creating a session
const pc = client.getPeerConnection(curentCallId);

Em seguida, você receberá a trilha de áudio da transmissão local a partir do dispositivo de entrada que você selecionou:

const localStream = await navigator.mediaDevices.getUserMedia({
     audio: { deviceId: { exact: deviceId } }
   });
const [track] = localStream.getAudioTracks();

Por fim, você substituirá a faixa do remetente da conexão entre pares — responsável por enviar o áudio para a chamada — pela faixa de áudio local do dispositivo de entrada que você selecionou:

const sender = pc.getSenders().find(sender => sender.track.kind === track.kind);
sender.replaceTrack(track);

Devo criar um aplicativo de exemplo e colocá-lo no repositório da Comunidade Vonage no GitHub?

Referência