使用JavaScript输出声音

时间:2013-08-09 20:57:17

标签: javascript audio

我想使用JavaScript在线metronome。最近我周围的人开始需要它们,但没有任何体面的不使用Flash。所以我想为什么不呢。

在开始之前,我想确保可以使用JavaScript执行此操作。基本上我需要知道的是,是否可以输出声音,如果是,则其余部分应该足够简单。

有可能吗?如果是,怎么样?

P.S。:我检查了HTML5音频标签,我觉得它不会起作用。它不是一个带有节拍器声音的长文件。它是一个循环,每次都应该运行声音。

2 个答案:

答案 0 :(得分:2)

音频标签是正确的工具:

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio

创建音频标签 - 类似于:

<audio id="m" loop>
    <source src="metronome.mp3">
</audio>

要么使用标记(循环)上的相应选项进行循环,要么可以在JS中编写脚本:

<script>
// goes inside whatever event handler - when the user clicks a button, timer, etc.
document.getElementById('m').play(); // play the sound
</script>

本文提供了一个很好的介绍:

http://html5doctor.com/native-audio-in-the-browser/

如果你需要它在旧的浏览器中工作,你可以使用Flash(这是“传统上”如何做这种事情)。但正如你所提到的 - 避免这种新发展是一个好主意。 IE9 +和Chrome,FF,Safari,Opera支持音频标签。

答案 1 :(得分:0)

您可以使用我的play()函数:http://pastebin.com/GKRx0GDk

它使用HTML5音频标签。

play('click.wav');

如果需要在特定时间重复,请将其放在setInterval上。