【问题标题】:WebRTC audio only activates on voiceWebRTC 音频仅在语音上激活
【发布时间】:2020-12-27 10:04:21
【问题描述】:

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

【问题讨论】:

    标签: javascript audio webrtc mediastream


    【解决方案1】:

    不幸的是,在设计这些 API 时,它们在构建时默认启用了大量处理。幸运的是,您可以使用 getUserMedia 音频限制来禁用它们:

    autoGainControl: false,
    echoCancellation: false,
    noiseSuppression: false
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-17
      • 1970-01-01
      • 2021-05-12
      • 1970-01-01
      • 1970-01-01
      • 2018-12-29
      • 2015-08-05
      • 1970-01-01
      相关资源
      最近更新 更多