如果我们需要播放另一个音频,如何停止音频

时间:2014-03-14 09:46:24

标签: jquery audio

如果我们点击相应的链接,我编写了播放两个音频的代码。如果我们在第一个播放时点击第二个链接,如何编写jquery来停止第一个音频,反之亦然。

<p>Audio1</p>
    <audio id="playauido1">
        <source src="audio1.mp3" type="audio/mp3" />
    </audio>

<a href="#" onclick="document.getElementById('playauido1').play()"> Paly first audio </a>
<p>Audio2</p>               
    <audio id="playauido2">
        <source src="audio2.mp3" type="audio/mp3" />
    </audio>

<a href="#" onclick="document.getElementById('playauido2').play()"> Paly second audio </a>           

1 个答案:

答案 0 :(得分:0)

audioElement有paused属性。如果你想检查其他音频文件是否正在播放,你可以做类似的事情

<script>
 function stopPlaying(audioElement) {
   if(!audioElement.paused){
     audioElement.pause();
   }
 }
</script>
<p>Audio1</p>
    <audio id="playauido1">
        <source src="audio1.mp3" type="audio/mp3" />
    </audio>

<a href="#" onclick="document.getElementById('playauido1').play();stopPlaying(document.getElementById('playauido2'));"> Paly first audio </a>
<p>Audio2</p>               
    <audio id="playauido2">
        <source src="audio2.mp3" type="audio/mp3" />
    </audio>

<a href="#" onclick="document.getElementById('playauido2').play();stopPlaying(document.getElementById('playauido1'));"> Paly second audio </a>    

如果你有更多的音频文件,你可以创建一个数组来存储音频元素,并在stopPlaying函数中进行for循环检查和暂停音频文件。

但实际上,如果音频在你调用.pause()时已经暂停,它就什么都不做,所以你不必检查它是否正在播放。只需调用pause()

<a href="#" onclick="document.getElementById('playauido1').play();playauido2.pause();">

这更简单,更容易