Android SD: управление звуком

Discussion in 'Web Call Server 5' started by joker, Aug 2, 2019.

  1. joker

    joker New Member

    День добрый!

    В данный момент работаю над интеграцией Вашего SDK в андроид приложение. За основу беру вот этот пример: https://flashphoner.com/docs/wcs5/wcs_docs/html/en/wcs-developer-guide-2/.

    Проблема в следующем:
    1. Устанавливается соединение и начинается воспроизведение стрима
    2. Нажимаем кнопки регулирования звука на устройстве

    Актуальный результат:
    Регулируется in call уровень звука (судя по всему AudioManager перешел в режим MODE_IN_COMMUNICATION). Как результат, нельзя сделать mute, тк in call не предоставляет такой возможности.

    Ожидаемый результат:
    Регулируется media уровень звука (AudioManager в режиме MODE_NORMAL)

    Попытки вручную после запуска стрима выставить MODE_NORMAL не увенчались успехом.

    В WCSAudioManager:init есть установка режима audioManager.setMode(3); (те MODE_IN_COMMUNICATION). Но для нашего приложения это не подходит по ряду причин. Просьба, пояснить с какой целью переключается этот режим и, по возможности добавить в SDK возможность выбирать желаемый режим воспроизведения аудио.
  2. Max

    Max Administrator Staff Member

    Добрый день.
    Актуальная документация по Android SDK находится здесь:
    - Android SDK 1.0 (Android 8 и ниже)
    - Android SDK 1.1 (Android 9 и выше)
    Посмотрите также исходный код примера Media Devices на GitHub в качестве примера использования функций Flashphoner.getVolume(), setVolume() для регулирования громкости при воспроизведении.
  3. joker

    joker New Member

    Да, эти примеры смотрел.

    setVolume() работает, но конкретно setVolume(0) - нет. Причина в том, что используется MODE_IN_COMMUNICATION, а в нем нельзя полностью отключить звук.
    Баг повторяется на ваших сборках отсюда: https://flashphoner.com/downloads/builds/flashphoner_client/wcs-android-sdk/
  4. Max

    Max Administrator Staff Member

    Добрый день.
    Мы создали внутренний тикет (WCS-2212) и сообщим здесь о результатах.
  5. Max

    Max Administrator Staff Member

    Добрый день.
    В сборке Android SDK 1.1 1.1.0.12 проблема исправлена, при установке setVolume(0) звук отключается. В пример Media Devices добавлено управление звуком при помощи аппаратных кнопок:
    Code:
        @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            int currentVolume = Flashphoner.getVolume();
            switch (keyCode) {
                case KeyEvent.KEYCODE_VOLUME_DOWN:
                    if (currentVolume == 1) {
                        Flashphoner.setVolume(0);
                    }
                    mPlayVolume.setProgress(currentVolume-1);
                    break;
                case KeyEvent.KEYCODE_VOLUME_UP:
                    if (currentVolume == 0) {
                        Flashphoner.setVolume(1);
                    }
                    mPlayVolume.setProgress(currentVolume+1);
                    break;
            }
            return super.onKeyDown(keyCode, event);
        }
    
  6. joker

    joker New Member

    День добрый!

    А когда эта правка появится для версии 1.0?

Share This Page