Javascript 从麦克风获取音频数据作为阵列
我想记录从麦克风获取的音频数据:Javascript 从麦克风获取音频数据作为阵列,javascript,html,audio,webkitaudiocontext,Javascript,Html,Audio,Webkitaudiocontext,我想记录从麦克风获取的音频数据: window.AudioContext = window.AudioContext || window.webkitAudioContext; var context = new AudioContext(); var analyser = context.createAnalyser(); navigator.webkitGetUserMedia({ audio: true }, functio
window.AudioContext = window.AudioContext || window.webkitAudioContext;
var context = new AudioContext();
var analyser = context.createAnalyser();
navigator.webkitGetUserMedia({ audio: true }, function (stream) {
var source = context.createMediaStreamSource(stream);
source.connect(analyser);
analyser.connect(context.destination);
setInterval(function () {
var array = new Uint8Array(analyser.frequencyBinCount);
analyser.getByteFrequencyData(array);
console.log(array);
}, 1000);
}, function () { });
我在麦克风中讲话,但记录的数组每次只包含0个值。你能告诉我我做错了什么吗?感谢您在chrome canary中试用,效果良好!浏览器问题,希望他们能尽快解决不确定这是否有帮助。您可能需要检查页面是否具有访问麦克风的权限。恐怕您的JSFIDLE示例需要修复:
跨源请求被阻止:同源策略不允许读取远程资源http://thelab.thingsinjars.com/web-audio-tutorial/hello.mp3. 可以通过将资源移动到同一域或启用CORS来解决此问题。
如何将音频转换为字符串?请问数组中的值是什么意思?在我的测试中,它们变化很快,几秒钟后变为静态。