javascript - WebRTC音频仅在语音上激活

标签 javascript audio webrtc mediastream

我正在通过WebRTC MediaStream从getUserMedia发送音频。我想发送所有类型的音频数据,而不仅仅是声音。我的问题是,即使麦克风拾取了一些背景噪音,如果没有声音,音频也会中断。我认为问题出在创建商品时与​​voiceActivityDetection参数有关,但是即使禁用它,问题仍然存在。我应该如何在不进行语音处理的情况下通过MediaStream发送基本原始的音频数据?

最佳答案

不幸的是,在设计这些API时,它们在默认情况下启用了许多处理功能。幸运的是,可以使用getUserMedia音频限制将其禁用:

autoGainControl: false,
echoCancellation: false,
noiseSuppression: false
这将大大改善您的音频质量。但是请注意,整个WebRTC堆栈仍会影响您的音频。 WebRTC call 针对实时语音通信进行了优化。音频的速度会不断调整,以保持尽可能实时。经常会添加舒适噪音(可以通过调整SDP来禁用)。音频比特率通常设置得很低(也可以通过SDP进行调整)。如果音频质量对您来说很重要(例如音乐),则WebRTC可能不是最佳选择。请考虑使用MediaRecorder。

关于javascript - WebRTC音频仅在语音上激活,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63803736/

相关文章:

iOS:录制动态音频播放

javascript - WEBRTC - 无需任何扩展的屏幕共享

javascript - 是否存在使用 Jitsi Videobridge(没有 lib-jitsi-meet)的示例代码?

javascript - p5.j​​s 在 Canvas 内播放视频

javascript - Web 应用程序作为程序运行,无需浏览器

javascript - 如何更新具有相同父值的同一级别中的所有现有元素?

iPhone - 无法使用硬按钮调节音量

javascript - 提交时的 JQuery 加载问题

c# - 使用C#检查音频是否在PC上正常工作?

android - 无法在android上的webrtc中发送视频和音频