用于检查 html5 音频元素当前是否正在播放的 javascript api 是什么?
HTML5 检查音频是否正在播放?
IT技术
javascript
html
audio
2021-02-05 07:17:49
6个回答
function isPlaying(audelem) { return !audelem.paused; }
Audio 标签有一个paused
属性。如果它没有暂停,那么它正在播放。
您可以检查持续时间。如果持续时间超过 0 秒并且没有暂停,则正在播放。
var myAudio = document.getElementById('myAudioID');
if (myAudio.duration > 0 && !myAudio.paused) {
//Its playing...do your job
} else {
//Not playing...maybe paused, stopped or never played.
}
虽然我对这个线程真的很晚,但我使用这个实现来确定声音是否正在播放:
service.currentAudio = new Audio();
var isPlaying = function () {
return service.currentAudio
&& service.currentAudio.currentTime > 0
&& !service.currentAudio.paused
&& !service.currentAudio.ended
&& service.currentAudio.readyState > 2;
}
我认为除了就绪状态之外,音频元素上的大多数标志都是显而易见的,您可以在这里阅读:MDN HTMLMediaElement.readyState。
document.getElementsByTagName('audio').addEventListener('playing',function() { myfunction(); },false);
应该做的伎俩。
试试这个功能!如果位置是开头或结尾,则不会执行音频播放
function togglePause() {
if (myAudio.paused && myAudio.currentTime > 0 && !myAudio.ended) {
myAudio.play();
} else {
myAudio.pause();
}
}