我想使用网络浏览器从麦克风获取实时音频,并通过 websockets 将其发送到 Node.js 服务器。我正在使用 BinaryJS 库将二进制数据发送到服务器。我在从麦克风获取音频样本时遇到问题。这是我所拥有的:
window.AudioContext = window.AudioContext || window.webkitAudioContext;
var context = new AudioContext();
var audio = document.querySelector('audio');
navigator.webkitGetUserMedia({audio: true}, function(micstream){
audio.src = window.URL.createObjectURL(micstream);
}, errorCallback);
});
var errorCallback = function(e){
console.log("Rejected!", e);
};
我想要某种方法以每 10 毫秒左右获取音频样本,以便我可以将其写入 websocket 流。我正在寻找这样的东西:
function getSample(){
//read the current data in byte buffer.
setTimeout(getSample, 10);
}
有人可以告诉我该怎么做吗?还是有其他方法可以做到这一点?谢谢!