在Javascript中,有没有一种方法可以根据麦克风的实时输入触发功能?

时间:2014-03-18 04:10:19

标签: javascript jquery audio web-audio

我正在尝试创建一个有动画树的网站。当有人吹空气时,这棵树就会脱落。 更具体地说,我希望在麦克风获得某种音频输入后触发脱落叶片动画。我不知道这是怎么发生的。任何人都可以建议我一些初学者教程吗?

我已经问过了,我被告知我必须使用“Web Audio API”,但这也很难理解。

基本上,我想知道我应该如何接受现场麦克风音频,然后让Javascript理解一旦有来自麦克风的音频,它应该触发脱落叶片动画。

我还有一个短暂的问题:麦克风音频应该捕捉到它的所有音频。说,我正在使用键盘,即使是键盘上的噪音也应被视为音频输入。我希望它能够专门过滤所有这些噪音,并将吹风作为触发器。类似的事情,只有当音频输入超过这个幅度时,它必须开始动画。

请注意,我是一个极端的新手。

2 个答案:

答案 0 :(得分:1)

这是我之前在JS Bin上做过的一件愚蠢的小事,可能会给你一些想法。

http://jsbin.com/uCalijA/2/edit

您可能感兴趣的内容发生在draw函数的前15行中。基本上,这使用AnalyserNode来获取时域数据并使用它来计算幅度。 ratio变量然后将其转换为稍微更容易使用的值,范围为0-100,其中0为静默。

你应该能够调整那些以及

的效果
if ( ratio > threshold  ) {
  blowLeaves();
}

答案 1 :(得分:0)

Web Audio API是HTML5堆栈的一部分,你可能在这个时候找不到很多例子。我自己没有使用过Web Audio API,但是有以下艺术书签。我希望它可以帮助你完成任务

http://www.html5rocks.com/en/tutorials/getusermedia/intro/

干杯