调用函数generate时,应播放声音。如果按钮被触发,应停止声音。最好的方法是什么?
<script>
var audio = new Audio('assets/spin.mp3');
function generate()
{
/* some code goes here*/
audio.play();
}
</script>
<button onClick="game.rotationAngle=0; game.draw();generate();audio.stop();">start</button>
触发按钮时我需要执行一种重置。这就是为什么声音需要在它再次运行之前停止的原因。
答案 0 :(得分:2)
您可能希望使用audio.pause()
,因为没有stop
方法。如果您检查Audio.prototype.stop
它未定义。
答案 1 :(得分:1)
audio
在<script>
标记之外无效,因为您在脚本代码中定义了它。以下是生成的代码。
<script>
var audio = new Audio('assets/spin.mp3');
function generate() {
/* some code goes here*/
if(audio.paused) {audio.currentTime=0;audio.play()}
else audio.pause();
}
</script>
<button onClick="game.rotationAngle=0; game.draw();generate();">start</button>
答案 2 :(得分:0)
没有audio.stop()
这样的功能。
您可以改用以下内容:
function generate() {
if(!audio.paused) { /* Check if it's not paused */
audio.pause(); /* To pause the audio */
audio.currentTime = 0; /* To reset the time back to 0 */
}
else {
audio.play(); /* To make it play again */
}
};
答案 3 :(得分:0)
使用audio.pause()
代替audio.stop()