似乎使用chrome.tabCapture.capture
进行音频捕捉会产生一些不稳定的声音。
此处已有bug report。
是否可以增加接收捕获流的缓冲区以防止口吃,或者tabCapture
方法是否已经定义了缓冲区?
基本捕捉:
chrome.tabCapture.capture({
audio: true,
video: false
}, function (stream) {
var ctx = new AudioContext();
var output = ctx.createMediaStreamSource(stream);
output.connect(ctx.destination)
});
答案 0 :(得分:3)
我遇到了同样的问题,但如果您使用AudioContext
参数创建LatencyHint
,则不稳定的声音似乎消失了:
new AudioContext({LatencyHint: 'playback'});
您可以在此处详细了解:MDN AudioContext.AudioContext()
latencyHint:此值标识播放类型,这会影响音频输出延迟和功耗之间的权衡。首选值为“平衡”,“交互式”和“播放”,默认值为“交互式”。这些值意味着“平衡音频输出延迟和功耗”,“尽可能提供最低音频输出延迟而不会出现故障”,并且“优先考虑持续播放,而不会中断音频输出延迟”。您还可以为延迟的秒数指定double值,以实现更好的控制。