HTML5   发布时间:2022-04-26  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了html5 – WebRTC – 禁用所有音频处理大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试通过webrtc获得一个干净的音频通道.通过getUserMedia mediaconsTraints对象,我设置了以下选项:
consTraints: {
        audio: {
            mandatory: {
                echoCancellation: false,googEchoCancellation: false,googAutoGainControl: false,googAutoGainControl2: false,googNoiseSuppression: false,googHighpassFilter: false,googTypingNoiseDetection: false,//googAu@L_441_1@mirroring: false // For some reason setTing googAu@L_441_1@mirroring causes a navigator.getUserMedia error:  NavigatorUserMediaError
            }
        },video: false
    },

这大大提高了音频质量,但是似乎存在音频处理,这导致了一些测试样本以高频噪声的形式破坏音频.

一个Chrome标志 – 用于假冒音频捕获的文件 – 如http://peter.sh/experiments/chromium-command-line-switches/#use-file-for-fake-audio-capture所述,允许通过文件输入进行测试.如在标志的描述中所提及的,所有音频处理都必须被禁用或音频将被扭曲 – 所以似乎有其他选项用于此目的.

我也尝试过–disable-audio-track-processing -audio-buffer-size = 16-enable-exclusive-audio Chrome标志,但仍然有一些音频处理.

是否有任何方法来禁用仍然存在的音频处理(最好通过JS API)?

解决方法

我会赌注opus编解码器的可变比特率(认)行为导致一些压缩或调整.您可以手动操纵SDP报价以使用CBR(恒定比特率)而不是VBR(可变比特率).当您从浏览器获取SDP报价时,请更改行:
a=fmtp:111 minptime=10; useinbandfec=1

至:

a=fmtp:111 minptime=10; cbr=1

请注意,我同时添加cbr = 1并删除useinbandfec = 1.我不太乐意放弃useinbandfec是必要的,但是似乎带内FEC(转发错误纠正)会导致您想要避免的压缩调整.

大佬总结

以上是大佬教程为你收集整理的html5 – WebRTC – 禁用所有音频处理全部内容,希望文章能够帮你解决html5 – WebRTC – 禁用所有音频处理所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。