如果我们需要播放另一个音频,如何停止音频
Posted
技术标签:
【中文标题】如果我们需要播放另一个音频,如何停止音频【英文标题】:How to stop an audio if we need to play another audio 【发布时间】:2014-03-14 09:46:23 【问题描述】:如果我们单击相应的链接,我已经编写了播放两个音频的代码。如果我们在播放第一个链接时单击第二个链接,如何编写 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】: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();">
这样更简单更容易
【讨论】:
以上是关于如果我们需要播放另一个音频,如何停止音频的主要内容,如果未能解决你的问题,请参考以下文章
从该音频ViewController IOS7返回后如何停止音频