Javascript Chrome扩展:通过增加缓冲区大小来防止Chrome.tabCapture.capture捕捉断断续续的声音?

Javascript Chrome扩展:通过增加缓冲区大小来防止Chrome.tabCapture.capture捕捉断断续续的声音?,javascript,google-chrome-extension,web-audio-api,Javascript,Google Chrome Extension,Web Audio Api,似乎使用音频捕捉可以产生一些起伏的声音 已经有了一个解决方案 是否可以增加接收捕获流的缓冲区以防止口吃,或者tabCapture方法是否已经定义了缓冲区 基本捕获: chrome.tabCapture.capture({ audio: true, video: false }, function (stream) { var ctx = new AudioContext(); var output = ctx.createM

似乎使用音频捕捉可以产生一些起伏的声音

已经有了一个解决方案

是否可以增加接收捕获流的缓冲区以防止口吃,或者
tabCapture
方法是否已经定义了缓冲区

基本捕获:

chrome.tabCapture.capture({
        audio: true,
        video: false
    }, function (stream) {
        var ctx = new AudioContext();
        var output = ctx.createMediaStreamSource(stream);
        output.connect(ctx.destination)
    });

我也有同样的问题,但是如果您使用
LatencyHint
参数创建
AudioContext
,则起伏的声音似乎消失了:

new AudioContext({latencyHint: 'playback'});
在这里,您可以阅读更多信息:

latencyHint:此值标识播放类型,这会影响音频输出延迟和功耗之间的权衡。首选值为“平衡”、“交互”和“播放”,默认值为“交互”。这些值表示“平衡音频输出延迟和功耗”,“提供尽可能低的音频输出延迟而不出现故障”,以及“优先考虑持续播放而不中断音频输出延迟”。您还可以为延迟秒数指定双精度值,以便进行更精细的控制


这个论点是区分大小写的。延迟中的L必须是小写的,否则它不会实际更改值。你可以通过检查你刚刚创建的对象的baseLatency成员来确认它的值。对我来说性能提高了很多,现在只是一个小故障,音频速率没有变化