Partilhar via


O microfone do participante falante tem um problema

Quando o microfone do participante da fala tem um problema, isso pode fazer com que o áudio de saída fique silencioso, resultando em um problema de áudio unidirecional na chamada.

Como detetar usando o SDK

Seu aplicativo pode usar a API de diagnóstico voltada para o usuário e registrar um retorno de chamada de ouvinte para detetar o problema do dispositivo.

Existem vários eventos relacionados com as questões do microfone, incluindo:

  • noMicrophoneDevicesEnumerated: Não há nenhum dispositivo de microfone disponível no sistema.
  • microphoneNotFunctioning: O navegador encerra a faixa de entrada de áudio.
  • microphoneMuteUnexpectedly: O navegador silencia a faixa de entrada de áudio.

Além disso, a API Media Stats também fornece uma maneira de monitorar o nível de entrada ou saída de áudio.

Para verificar o nível de áudio na extremidade de envio, observe audioInputLevel o valor, que varia de 0 a 65536 e indica o nível de volume do áudio capturado pelo dispositivo de entrada de áudio.

Para verificar o nível de áudio na extremidade recetora, olhe para audioOutputLevel o valor, que também varia de 0 a 65536. Esse valor indica o nível de volume das amostras de áudio decodificadas. Se o audioOutputLevel valor for baixo, indica que o volume enviado pelo remetente também é baixo.

Como mitigar ou resolver

Problemas de microfone são considerados problemas externos da perspetiva do ACS Calling SDK. Por exemplo, o noMicrophoneDevicesEnumerated evento indica que nenhum dispositivo de microfone está disponível no sistema. Esse problema geralmente acontece quando o usuário remove o dispositivo de microfone e não há outro dispositivo de microfone no sistema. O microphoneNotFunctioning evento é acionado quando o navegador encerra a faixa de entrada de áudio atual, o que pode acontecer quando o sistema operacional ou a camada de driver encerra a sessão de entrada de áudio. O microphoneMuteUnexpectedly evento pode ocorrer quando a fonte da faixa de entrada de áudio é temporariamente incapaz de fornecer dados de mídia. Por exemplo, um botão de silenciamento de hardware de alguns modelos de fone de ouvido pode acionar esse evento.

O aplicativo deve ouvir os eventos da API de diagnóstico voltado para o usuário. O aplicativo deve exibir uma mensagem de aviso ao receber eventos. Ao fazer isso, o usuário está ciente do problema e pode solucionar problemas alternando para um dispositivo de microfone diferente ou desconectando e conectando seu dispositivo de microfone atual.

Referências

Processo de solução de problemas

Se um usuário não consegue ouvir som durante uma chamada, uma possibilidade é que o participante que fala tenha um problema com seu microfone. Se o participante falante estiver usando seu aplicativo, você pode seguir este fluxograma para solucionar o problema.

Diagrama de solução de problemas do microfone.

  1. Primeiro, verifique se um microfone está disponível. O aplicativo pode obter essas informações invocando DeviceManager.getMicrophone a API ou detetando um noMicrophoneDevicesEnumerated evento UFD Bad.
  2. Se nenhum dispositivo de microfone estiver disponível, solicite que o usuário conecte um microfone.
  3. Se um microfone estiver disponível, mas não houver áudio de saída, considere outras possibilidades, como problemas de permissão, problemas de dispositivo ou problemas de rede.
  4. Se a permissão for negada, consulte O participante que fala não concede permissão ao microfone para obter mais informações.
  5. Se a permissão for concedida, considere se o problema se deve a um problema externo, como microphoneMuteUnexpectedly UFD.
  6. O microphoneMuteUnexpectedly evento UFD Bad é acionado quando o navegador silencia a faixa de entrada de áudio. O aplicativo pode monitorar esse UFD, mas não é capaz de detetar o motivo na camada JavaScript. Você ainda pode fornecer instruções no aplicativo e perguntar se o usuário está usando o botão de silenciamento de hardware em seu fone de ouvido.
  7. Se o usuário liberar o silenciamento de hardware e o microphoneMuteUnexpectedly UFD se recuperar, o problema será resolvido.
  8. Se o usuário não estiver usando o mudo de hardware, peça para desconectar e reconectar o microfone ou para selecionar outro microfone. Verifique se o usuário não silenciou o microfone no nível do sistema.
  9. Nenhum problema de áudio de saída também pode acontecer quando há um microphoneNotFunctioning evento UFD Bad.
  10. Se não houver nenhum microphoneNotFunctioning evento UFD Bad, considere outras possibilidades, como problemas de rede.
  11. Se houver um networkReconnect UFD incorreto, o áudio de saída pode ser temporariamente perdido devido a uma desconexão de rede. Consulte Há um problema de rede na chamada para obter informações detalhadas.
  12. Se não houver eventos relacionados ao microfone e à rede, crie um tíquete de suporte para a equipe do ACS investigar o problema. Consulte Comunicar um problema.
  13. Se ocorrer um microphoneNotFunctioning evento UFD Bad e o usuário não tiver áudio de saída, ele poderá tentar recuperar o fluxo usando o mudo e o desmudo do ACS.
  14. Se o microphoneNotFunctioning UFD não se recuperar depois que o usuário executar o mudo e desativar o som do ACS, pode haver um problema com o dispositivo de microfone. Peça ao usuário para desconectar e reconectar o microfone ou selecionar outro microfone.