Volumen de audio de Android webRTC

Estoy usando la aplicación APPRTCdemo en android. Estoy tratando de hacer que reproduzca el sonido procedente de los otros pares tan fuerte como el volumen se establece en la configuración de Android. Así que si el usuario silenció el dispositivo, el audio no se escucharía. He intentado casi todas las llamadas de la API de Android, pero nada parece tener ningún efecto en el volumen. Estas son las cosas que he intentado: AudioManager audioManager = (AudioManager) _context.getSystemService (Context.AUDIO_SERVICE); Int volumen = audioManager.getStreamVolume (AudioManager.STREAM_VOICE_CALL);

volume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC); volume =audioManager.getStreamVolume(AudioManager.STREAM_RING); volume =audioManager.getStreamVolume(AudioManager.STREAM_ALARM); volume =audioManager.getStreamVolume(AudioManager.STREAM_NOTIFICATION); volume =audioManager.getStreamVolume(AudioManager.STREAM_SYSTEM); audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 0, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE); audioManager.setStreamVolume(AudioManager.MODE_IN_COMMUNICATION, 0, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE); audioManager.setStreamVolume(AudioManager.STREAM_VOICE_CALL, 0,AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE); audioManager.setStreamMute(AudioManager.MODE_IN_COMMUNICATION, true); audioManager.setStreamMute(AudioManager.STREAM_SYSTEM, true); audioManager.setStreamMute(AudioManager.STREAM_RING, true); audioManager.setStreamMute(AudioManager.STREAM_MUSIC, true); audioManager.setStreamMute(AudioManager.STREAM_NOTIFICATION, true); 

3 Solutions collect form web for “Volumen de audio de Android webRTC”

Si desea silenciar el flujo, puede hacer lo siguiente:

 RemoteStream.audioTracks.get(0).setEnabled(false); //in case you have only one audio track 

En caso de que tenga más de una pista de audio en la secuencia, puede ponerla en un bucle. Esto es código probado y mute / unmute está funcionando absolutamente bien.

Si desea simplemente silenciar el audio puede utilizar smth como la siguiente construcción:

 inputMediaStream.audioTracks.getFirst().setEnabled(false); 

En el código fuente de webrtc puede encontrar src / webrtc / modules / audio_device / android / java / src / org / webrtc / voiceengine / WebRtcAudioTrack.java que utiliza

 audioManager.setStreamVolume(AudioManager.STREAM_VOICE_CALL, volume, 0); 

Código para cambiar el volumen (y creo que debería funcionar bien). Así que su problema podría estar en cualquier otro lugar.

Yo estaba enfrentando el mismo problema. No encontré ninguna documentación sobre ello, pero me di cuenta de que no se puede silenciar el flujo AudioManager.STREAM_VOICE_CALL . Incluso si ajusta el volumen a 0, todavía puede oírlo.

No sé si esta parte de Android o una modificación hecha por los fabricantes, pero he probado varios teléfonos y tabletas que tenían el mismo comportamiento.

Esto puede probarse muy fácilmente si intenta silenciar el audio durante una llamada telefónica, puede presionar la tecla de reducción de volumen tanto como desee, pero no le permitirá silenciarla completamente.

Supongo que la idea detrás de todo esto es evitar que los usuarios piensen que las llamadas no funcionan correctamente cuando el único problema es que el audio está silenciado.

  • Utilice Video chat en segundo plano como Skype usando WebRTC en Android
  • Flujo de aplicaciones para la conexión peer to peer de Android?
  • Android WebRTC personalizar la vista remota y local
  • ¿Cómo implementar la videoconferencia de conferencia telefónica de 3 vías con WebRTC Native Code para Android?
  • Cómo utilizar WebRTC + Pubnub Api para el cliente de chat de vídeo en la aplicación Native android
  • Datos personalizados byteArray a WebRTC videoTrack
  • WebRTC AEC en Android
  • ERROR al compilar Web RTC
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.