Перейти к содержанию

Управление громкостью воспроизведения WebRTC

Android SDK использует для работы с WebRTC библиотеку libjingle_peerconnection. В библиотеке на уровне исходного кода установлено управление громкостью вызова (incall volume) при установке уровня громкости воспроизведения

code

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)