我有一个音频文件,它会在单击 anchor 标记时播放。如果再次单击 anchor 标记,我希望音频暂停,我只是对 javascript 了解不够,无法完成后半部分。我不想更改他们点击的 anchor 标签的内容,我只想让音频文件在他们点击标签时开始和暂停。
这是我目前所拥有的,至少可以让声音文件播放:
<audio id="audio" src="/Demo.mp3"></audio>
<a onClick="document.getElementById('audio').play()">Click here to hear.</a>
最佳答案
一种 Vanilla Javascript 方式来完成您需要的事情。
注意:我注意到对其他问题的评论对原生 js 方法进行了多次投票,并且看到 OP 没有 jquery
标签。
所以工作示例
:
SOLN 1
:(我的初始 soln 使用事件)
var myAudio = document.getElementById("myAudio");
var isPlaying = false;
function togglePlay() {
isPlaying ? myAudio.pause() : myAudio.play();
};
myAudio.onplaying = function() {
isPlaying = true;
};
myAudio.onpause = function() {
isPlaying = false;
};
<audio id="myAudio" src="http://www.sousound.com/music/healing/healing_01.mp3" preload="auto">
</audio>
<a onClick="togglePlay()">Click here to hear.</a>
SOLN 2
:(使用基于 dandavi's comment 的 myAudio.paused
属性)
var myAudio = document.getElementById("myAudio");
function togglePlay() {
return myAudio.paused ? myAudio.play() : myAudio.pause();
};
<audio id="myAudio" src="http://www.sousound.com/music/healing/healing_01.mp3" preload="auto">
</audio>
<a onClick="togglePlay()">Click here to hear.</a>
关于javascript - 如何通过一个按钮或链接切换音频播放()暂停()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27368778/