Я использовал libjingle, чтобы сделать одноранговое соединение между четырьмя пользователями для совместного использования данных, а также запустить аудиоканал. Он работает нормально в большинстве случаев, но имеет проблемы с эхом от одного пользователя, что делает звонок очень неустойчивым и трудно слушать пользователей.
Я попытался добавить
this.mediaConstraints.optional.add(new MediaConstraints.KeyValuePair("googNoiseSuppression", "true"));
this.mediaConstraints.optional.add(new MediaConstraints.KeyValuePair("googEchoCancellation", "true"));
Я добавляю эти ограничения в необязательные параметры, если я их добавляю в обязательном порядке, чтобы отключить вызов и выбрасывает методRenegotiationNeeded.
Я перечислил некоторые случаи, такие как:
1) Это может быть причиной того, что 1 пользователь находится в громкоговорителе (или наушник достаточно громкий), который записывает голоса в микрофон и создает эхо. (Но иногда это происходит и без этой причины)
2) Возможно, один звуковой канал зарегистрирован дважды и создает эффект реверберации с тем же каналом передачи данных пользователя. (Не могу найти, как отлаживать это, я считаю аудиоканал, и они нормальные)
3) Два пользователя находятся в одной комнате, и происходит эхо (это обычный случай, который случается, но это не проблема, поскольку это неизбежно)
Я ищу предложения или решения, если кто-то еще попал в такую проблему с помощью библиотеки Android webRTC.
implementation 'io.pristine:libjingle:[email protected]'
Библиотека, которую я подаю в суд, - это, но я также узнал, что последняя официальная библиотека webRTC обновляется в последнее время, будет ли переход на эту проблему для решения любой такой проблемы?
Последняя библиотека, которую я нашел, это:
implementation 'org.webrtc:google-webrtc:1.0.22672'
Любая помощь будет высоко оценен.
Спасибо