Управление громкостью воспроизведения WebRTC¶
Android SDK использует для работы с WebRTC библиотеку libjingle_peerconnection. В библиотеке на уровне исходного кода установлено управление громкостью вызова (incall volume) при установке уровня громкости воспроизведения
private int SetPlayoutVolume(int level) {
// create audio manager if needed
if (_audioManager == null && _context != null) {
_audioManager = (AudioManager)
_context.getSystemService(Context.AUDIO_SERVICE);
}
int retVal = -1;
if (_audioManager != null) {
_audioManager.setStreamVolume(AudioManager.STREAM_VOICE_CALL,
level, 0);
retVal = 0;
}
return retVal;
}
В связи с этим во всех приложениях на базе AndroidSDK при установке уровня громкости изменяется громкость во время вызова, а не громкость мультимедиа. Однако, существует возможность переключиться с гарнитуры на внешний динамик и микрофон устройства и обратно (см. пример Media Devices)