【发布时间】:2011-11-29 01:40:50
【问题描述】:
我正在用 JS 制作游戏,我需要一种适当的方式来在发生某些事情时播放声音。你如何用 JS/HTML5 做到这一点?我看到了this 的文章,但即使有他们的example,它也不起作用!有时我确实听到了那只鸟的声音,但只是很短的时间,然后我就无法让它继续工作了。
【问题讨论】:
标签: javascript html audio
我正在用 JS 制作游戏,我需要一种适当的方式来在发生某些事情时播放声音。你如何用 JS/HTML5 做到这一点?我看到了this 的文章,但即使有他们的example,它也不起作用!有时我确实听到了那只鸟的声音,但只是很短的时间,然后我就无法让它继续工作了。
【问题讨论】:
标签: javascript html audio
您可以使用 HTML5 <audio> 标签:http://jsfiddle.net/STTnr/。
var audio = document.getElementById('audio');
setTimeout(function() {
audio.play(); // play it through JavaScript after 3 seconds
}, 3000);
HTML:
<audio src="something" id="audio"></audio>
只需隐藏元素本身:
#audio {
display: none;
}
请注意no browser supports all formats。这可能令人沮丧,但您可以提供多种格式的音频。
【讨论】:
loop 属性,例如<audio loop ...>。
.wav(请查看我发布链接的文章)。
HTML5 具有新的<audio>-Tag,可用于播放声音。它甚至还有一个非常简单的 JavaScript 接口:
<audio id="sound1" src="yoursound.mp3" preload="auto"></audio>
<button onclick="document.getElementById('sound1').play();">Play it</button>
【讨论】: