javascript 停止点击按钮的音频
javascript stop audio from button click
调用生成函数时,应播放声音。如果按钮被触发,声音应该停止。执行此操作的最佳方法是什么?
<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>
这是我需要在触发按钮时执行的一种重置。这就是为什么声音需要停止,然后才会再次 运行。
我在调试中遇到这个错误:
您可能想使用 audio.pause()
,因为没有 stop
方法。如果你检查 Audio.prototype.stop
它是未定义的。
没有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 */
}
};
使用audio.pause()
代替audio.stop()
- 您应该区分点击第 n 次 和 (n+1)th 次。为此,只需检查音频是否暂停。
- 在
<script>
标签之外使用 audio
无效,因为您在脚本标签中定义了它。
- 如果您想重新开始曲目,还应将当前时间设置为零。
下面是生成的代码。
<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>
调用生成函数时,应播放声音。如果按钮被触发,声音应该停止。执行此操作的最佳方法是什么?
<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>
这是我需要在触发按钮时执行的一种重置。这就是为什么声音需要停止,然后才会再次 运行。
我在调试中遇到这个错误:
您可能想使用 audio.pause()
,因为没有 stop
方法。如果你检查 Audio.prototype.stop
它是未定义的。
没有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 */
}
};
使用audio.pause()
代替audio.stop()
- 您应该区分点击第 n 次 和 (n+1)th 次。为此,只需检查音频是否暂停。
- 在
<script>
标签之外使用audio
无效,因为您在脚本标签中定义了它。 - 如果您想重新开始曲目,还应将当前时间设置为零。
下面是生成的代码。
<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>