video-streaming - getUserMedia 如何提高音频质量?如何使音频停止回声?
问题描述
几天以来,我一直在尝试使用 webRTC。从那以后我面临的问题之一是音频质量。getUserMedia 的音频很糟糕。它回响了很多。我已经尝试了所有的约束,但仍然在呼应。这是我的代码。
navigator.mediaDevices.getUserMedia({ video: { width: 300, height: 300, frameRate: 30 }, audio: { volume: 0.3, sampleSize: 16, sampleRate: 44100, echoCancellation: true, noiseSuppression: true }, })
我知道有一种方法可以提高音频质量,因为像 omegle 这样的网站使用相同的技术,但它们的音频非常清晰。所以,如果有人好心给我指出正确的方向以获得更好的音频,我真的很感激。
解决方案
不确定这是否会有所帮助,但对于音频约束对象,我通常会这样做:
autoGainControl: false,
echoCancellation: false,
googAutoGainControl: false,
noiseSuppression: false
也许您似乎缺少的那几个仍然会引起问题。在所有浏览器中听起来都不好吗?您是否尝试过测试多个麦克风?除此之外,我不确定,因为麦克风在我的应用程序中听起来很棒。
希望这可以帮助。
推荐阅读
- android - 在android中实现NotificationListenerService
- shell - 解析和修改文件内容
- sql - APEX 5 如何为单独的行中的每个值写入选定的复选框?
- html - DOMPDF:两个高度大于页面高度的内联块。第二块从新页面问题开始
- rabbitmq - RabbitMQ java 客户端无法与 TLS 连接
- python - 尝试将值从 datfiles 导出到 csv
- python - 检查CSV的最后时间是否是当前时间或不使用Pandas Python3
- amcharts - AmCharts V4 (Maps) 放大地图会在两个轴上创建滚动条(仅限 IE)
- java - bean 验证 jsr349 @Min.List ,这是如何工作的?
- reactjs - 如何从 Identity Server 获取 access_token 命中令牌端点,使用 fetch 从反应客户端传递凭据?