这是怎么了,我会做到这一点,保持一个标志canPlay
和鼠标事件,如果属实,那么玩
canPlay = true;
var es = document.getElementsByTagName('audio'), audios=[];
for(var i=0;i<es.length;i++) audios.push(es[i]);
audios.forEach(function(e){
e.addEventListener('play', function(){
canPlay= false;
});
e.addEventListener('ended', function(){
canPlay= true;
});
});
// later on some mouseEvent based on some condition
function onMouseEvent(audioElement){
if(canPlay){
audioElement.play();
}
};
编辑:fiddle demo.
EDIT2:
相同只有音频对象的东西:
var audio = new Audio(), canPlay = true;
audio.src = 'http://upload.wikimedia.org/wikipedia/en/f/f9/Beatles_eleanor_rigby.ogg';
audio.addEventListener('play', function(){
console.log('playing');
canPlay = false;
});
audio.addEventListener('ended', function(){
console.log('stopped');
canPlay = true;
});
audio.play();
//similar mouse event listener changes to
function onMouseEvent(){
if(canPlay){
//audio.src ='...'; // providing new source
audio.play();
}
};
感谢modi为您的快速回复。我是偶尔的JavaScript开发人员。所以不是很熟悉所有功能。我正在使用JavaScript Audio对象。我没有使用HTML音频标签。如何在这种情况下应用你的概念。 – Asif 2015-02-09 06:48:22
@Asif更新了答案。现在检查。 – mido 2015-02-09 07:01:47