gpt4 book ai didi

google-chrome - Chrome : onaudioprocess stops getting called after a while

转载 作者:行者123 更新时间:2023-12-02 12:21:21 25 4
gpt4 key购买 nike

我正在使用 ScriptProcessorNode 的 onaudioprocess 回调来处理麦克风输入。通过将 MediaStreamSourceNode 连接到 ScriptProcessorNode,我可以在 onaudioprocess 回调函数中获取原始音频数据。但是,大约 30 秒(范围从 10 到 35 秒不等)后,浏览器停止调用 onaudioprocess。在下面的代码中,console.log 输出(“>>”)始终在大约 30 秒后停止。

var ctx = new AudioContext();
var BUFFER_LENGTH = 4096;
console.log('Buffer length is + ' + BUFFER_LENGTH);
navigator.webkitGetUserMedia({audio: true}, function (stream) {
var mediaStreamSource = ctx.createMediaStreamSource(stream);
var scriptProcessor = ctx.createScriptProcessor(BUFFER_LENGTH, 1, 1);
scriptProcessor.onaudioprocess = function (e) {
console.log('>>');
};
scriptProcessor.connect(ctx.destination);
}, function(e) {
console.error('Unable to get audio input source.');
});

我尝试了所有可能的BUFFER_LENGTH(256、512、1024、2048、4096、8192、16384),但情况没有改变(日志在30秒后停止)我在最新的 Chrome 版本(版本 35.0.1916.153)和 Canary(版本 37.0.2060.3 canary)中观察到此问题。有谁知道解决方法吗?

最佳答案

这看起来更像是您的脚本处理器对象正在被垃圾收集。尝试将其保存在全局变量中,看看是否可以解决问题。

关于google-chrome - Chrome : onaudioprocess stops getting called after a while,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24338144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com