HTML5音频 - 分析输出?

时间:2011-11-20 21:34:03

标签: javascript html5 html5-canvas html5-audio

有没有办法直接分析音频标签内容的输出,并使用输出?更清楚的是,我想要做的是使用音频内容的声级来使球反弹更高或更低(使用html5画布),具体取决于声音的级别。

例如,如果有像audioElement.getVolumeLevel()这样的东西会很方便,虽然我不知道是否存在这样的东西。

此外,这个问题具体是关于使用音频元素。我知道其他方法,但我认为这可能最适合我现在正在做的事情 - 如果存在一个简单的解决方案,那么我宁愿不必将额外的库带入我的东西。

3 个答案:

答案 0 :(得分:2)

在Firefox中,它是可能的,但据我所知,它还没有标准化(Chrome也可能支持它):

https://wiki.mozilla.org/Audio_Data_API

Webkit API提案:https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html

以及一些相关文章/演示:

http://ajaxian.com/by/topic/sound

http://ajaxian.com/archives/amazing-audio-api-javascript-demos

答案 1 :(得分:1)

目前有三种不同的音频API正在处理,各种不同并在各种浏览器中工作。没有什么是标准化的,但遗憾的是,它最终会实现。

答案 2 :(得分:1)

您可以在Firefox和Chrome下更改音量级别,如下所示:

var aud = document.getElementsByTagName('audio')[0]
aud.play()
aud.volume *= 0.5

设置音量会返回重置级别,例如,如果您在JS控制台中尝试它:

> aud.volume *= 0.5
0.015625
> aud.volume *= 0.5
0.0078125
> aud.volume *= 0.5
0.00390625

降低音量... HTH。