如何在Javascript中重新启动嵌入式声音?

时间:2012-11-12 01:08:02

标签: javascript html audio embed restart

我目前正在使用Javascript制作游戏,但在尝试拍摄时,拍摄声音不会重新开始。我的HTML看起来像这样:

<embed id="playerShot" src="resources/sounds/ump45shot.mp3" hidden="true" autostart="false"loop="false" volume="20">

我的Javascript功能是

function shoot() {
document.getElementById("playerShot").Play();
}

有没有办法在再次播放之前重启声音?

3 个答案:

答案 0 :(得分:1)

如果您使用JavaScript制作游戏,我建议选择JavaScript来加载和处理您的资源,如声音和图形。您可以阅读本文以开始使用Web Audio API:http://www.html5rocks.com/en/tutorials/webaudio/intro/

答案 1 :(得分:0)

我建议你使用<audio>元素,在我看来它比embed标签更适合你的需求。 https://developer.mozilla.org/en-US/docs/HTML/Element/Audio

要回放<audio>代码:document.getElementById('iamanaudioelement').currentTime = 0

(旁注:并非所有浏览器都支持mp3 <audio>元素。如果您打算让Firefox用户玩游戏,您应该检测浏览器是否支持MP3支持,例如使用Modernizr,并根据需要创建ogg或mp3音频标签。)

答案 2 :(得分:0)

这是你要找的吗?

<button onclick="playSfx('resources/sounds/ump45shot.mp3');">PLAY</button>

<!--Script-->

<script>
    function playSfx(filename){
    var snd = new Audio(filename);
    snd.play();
}

</script>