在js中X秒后停止音频

时间:2014-03-31 16:13:29

标签: javascript audio

我在3D做一个小汽车游戏。例如,我希望当播放器按下速度时,他首先启动声音并且在速度之后启动声音。但是在循环中只启动一次和速度。 我的HTML:

<audio preload="auto" id="start"><source src="sounds/start.mp3" type="audio/mp3"></audio>
<audio preload="auto" id="speed"><source src="sounds/speed.mp3" type="audio/mp3"></audio>

我在JS中试过这个东西,但是没有用:

document.getElementById('start').play();
setTimeout(document.getElementById('speed').play(),2000);
setTimeout(document.getElementById('start').pause(),2000);

我该怎么办? 感谢

1 个答案:

答案 0 :(得分:1)

您需要将您的调用包装在匿名函数中,以便不会立即调用它们,例如:

var player = document.getElementById('player');
setTimeout(function(){
    player.play();

    setTimeout(function(){
        player.pause();
        player.currentTime = 0;
    }, 2000);
}, 1000);

小提琴:http://jsfiddle.net/fyfRd/

要停止文件,您需要暂停并将currentTime重置为0