我想使用JavaScript在线metronome。最近我周围的人开始需要它们,但没有任何体面的不使用Flash。所以我想为什么不呢。
在开始之前,我想确保可以使用JavaScript执行此操作。基本上我需要知道的是,是否可以输出声音,如果是,则其余部分应该足够简单。
有可能吗?如果是,怎么样?
P.S。:我检查了HTML5音频标签,我觉得它不会起作用。它不是一个带有节拍器声音的长文件。它是一个循环,每次都应该运行声音。
答案 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上。