TL;DR
Как маршрутизировать голос удаленных участников в вызове WebRTC, чтобы Streamlabs или аналогичные потоковые приложения могли рассматривать их как внутренние звуки? p>
Длинная история
Моя игра использует библиотеку Google WebRTC для основного функционала — аудио/видеочата.
Я хочу предложить своим игрокам транслировать скриншоты на YouTube и Twitch прямо с их Android. телефоны. Я протестировал несколько приложений и обнаружил, что Streamlabs отлично подходит для моих целей.
Мои игроки могут наблюдать за игрой и транслировать экран приложения и звуки на Twitch/YouTube с помощью приложения Streamlabs.
Streamlabs может выбирать звук из двух каналов — внутреннего и микрофона (вы можете регулировать громкость для каждого). Все окружающие звуки игры, такие как щелчки, музыка и т. д., передаются во внутренний порт, и это здорово. Звуки WebRTC от других участников (игроков), направляемые моим приложением (с помощью Android AudioManager) на громкую связь, а затем принимаются микрофоном телефона. Итак, это работает, но это не очень хорошо.
Проблема в том, что стример должен всегда держать микрофон включенным, даже если он ничего не говорит, потому что речь WebRTC от удаленных игроков идет этот маршрут (WebRTC -> Громкая связь -> Микрофон -> Streamlabs). И он также всегда должен находиться в спокойной обстановке. Кроме того, качество звука явно ухудшилось.
Есть ли способ маршрутизировать звуки WebRTC таким образом, чтобы Streamlabs воспринимал их как внутренние?
Обратите внимание, что проблема характерна для всех приложений для вызовов WebRTC/VOIP/конференций на Android. Это можно легко воспроизвести с помощью звонка в WhatsApp, звонка в Facebook Messenger или любого подобного приложения. Вы также можете использовать приложение YouTube или Twitch вместо Streamlabs и получить аналогичные результаты.
Я пробовал другие настройки с помощью Android AudioManager (используя USAGE_MEDIA вместо USAGE_VOICE_COMMUNICATION, установив режим звука NORMAL вместо MODE_IN_COMMUNICATION и т. д.), но ни один из них не работает. Я думаю, это связано с тем, что приложение потоковой передачи (Streamlabs и т. д.) захватывает внутренние звуки еще до того, как они достигают AudioManager, возможно, на уровне Android MediaPlayer.
Было бы здорово если я смогу направить голос удаленных участников WebRTC таким образом, чтобы Streamlabs мог его воспринимать как внутренние звуки, чтобы ему не нужно было перемещаться по воздуху от громкой связи к микрофону, теряя качество и смешиваясь со звуками окружающей среды.
Я при необходимости можно изменить Google WebRTC (в любом случае я создаю его сам).
Подробнее здесь: https://stackoverflow.com/questions/792 ... o-internal
Потоковая запись экрана из приложения WebRTC — маршрутизация звука на внутренний ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Потоковая запись экрана из приложения WebRTC — маршрутизация звука на внутренний
Anonymous » » в форуме Android - 0 Ответы
- 5 Просмотры
-
Последнее сообщение Anonymous
-