嘿,我正在使用 GetUserMedia() 从用户的麦克风捕获音频输入。同时,我想将捕获的值放入一个数组中,以便我可以使用它们进行操作。我正在使用以下代码,但问题是我的数组一直被值 128 填充(我现在在控制台中打印结果),我找不到我的错误。有人可以帮我找出我的错误吗?
//create a new context for audio input
context = new webkitAudioContext();
var analyser = null;
var dataarray = [];
getLiveInput = function() {
navigator.webkitGetUserMedia({audio: true},onStream,onStreamError);
};
function onStream(stream)
{
var input = context.createMediaStreamSource(stream);
analyser = context.createAnalyser();
var str = new Uint8Array(analyser.frequencyBinCount);
analyser.getByteTimeDomainData(str);
for (var i = 0; i < str.length; i++) {
var value = str[i];
dataarray.push(value);
console.log(dataarray)
}//end for loop
}//end function
function onStreamError(e) {
console.error('Streaming failed: ', e);
};