5

我目前正在用 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();
}

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

4

3 回答 3

1

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

于 2012-11-12T10:23:43.967 回答
0

这是你要找的吗?

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

<!--Script-->

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

</script>
于 2012-11-19T07:27:36.213 回答
0

我建议您使用该<audio>元素,我认为它比嵌入标签更适合您的需求。https://developer.mozilla.org/en-US/docs/HTML/Element/Audio

要倒带<audio>标签:document.getElementById('iamanaudioelement').currentTime = 0

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

于 2012-11-12T07:03:45.880 回答