Наша страница зависит от того, будет ли пользователь записывать звук во время воспроизведения звука. Это работает, только если для echoCancellation установлено значение false в вызове getUserMedia. Раньше это работало в Windows 10, но недавно у нас появились сообщения о том, что качество записи ухудшилось. Глядя на запись, становится ясно, что при звуке на компьютере возникают пропадания - это точно так же, как мы получили до того, как я добавил echoCancellation: false
. Вот что мы видим сейчас:
- OSX: Chrome WORKS
- OSX: Firefox WORKS
- OSX: Safari WORKS
- Win10: Edge WORKS
- Win10: Firefox НЕ МОЖЕТ ВЫКЛЮЧИТЬ ЭХО АННУЛИРОВАНИЕ
- Win10: Chrome НЕ МОЖЕТ ВЫКЛЮЧИТЬ ЭХО АННУЛИРОВАНИЕ
Кроме того, у нас не было никаких претензий к мобильным платформам.
Опять же, когда мы впервые написали это, мы явно протестировали на Windows, и он работал нормально, и некоторое время он отлично работал в поле.
Что изменилось? Кто-нибудь может предложить другой способ назвать это? Вот что я пробовал:
navigator.mediaDevices.getUserMedia({
audio: {
echoCancellation: false
}
}).then(stream => {
navigator.mediaDevices.getUserMedia({
audio: {
echoCancellation: { ideal: false }
}
}).then(stream => {
stream.getAudioTracks()[0].applyConstraints({echoCancellation: false})
[EDIT] Я забыл упомянуть о неудачных версиях. Это: windows 10 и firefox 73 и chrome 80.0.3987.87.