gpt4 book ai didi

javascript - 如何从 AudioContext 获取麦克风数据

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

所以,我刚刚发现你可以 record sound using javascript 。太棒了!

我立即创建了一个新项目来自己做一些事情。然而,当我打开示例脚本的源代码时,我发现根本没有任何解释性注释。

我开始谷歌搜索并找到了 long and interesting article about AudioContext根本不知道录音(它只提到 remixinf 声音)和 MDN article ,其中包含所有信息 - 成功隐藏了我要查找的信息。

我还知道existing frameworks处理事情(以某种方式,也许)。但如果我想要一台录音机,我会下载一个 - 但我真的很好奇它是如何工作的。

现在我不仅不熟悉这件事的编码部分,我还很好奇整个事情将如何运作 - 我在特定时间得到强度吗?就像任何示波器一样?或者我可以对 sample 进行光谱分析吗?

所以,为了避免任何错误:请问,谁能解释一下使用上述 API 获取输入数据的最简单、最直接的方法,并最终提供带有解释性注释的代码?

最佳答案

如果您只想使用麦克风输入作为 WebAudio API 上的源,以下代码对我有用。它基于:https://gist.github.com/jarlg/250decbbc50ce091f79e

navigator.getUserMedia = navigator.getUserMedia
|| navigator.webkitGetUserMedia
|| navigator.mozGetUserMedia;
navigator.getUserMedia({video:false,audio:true},callback,console.log);

function callback(stream){
ctx = new AudioContext();
mic = ctx.createMediaStreamSource(stream);
spe = ctx.createAnalyser();
spe.fftSize = 256;
bufferLength = spe.frequencyBinCount;
dataArray = new Uint8Array(bufferLength);
spe.getByteTimeDomainData(dataArray);
mic.connect(spe);
spe.connect(ctx.destination);
draw();
}

关于javascript - 如何从 AudioContext 获取麦克风数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23783458/

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