我目前正在使用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();
}
有没有办法在再次播放之前重启声音?
答案 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>