用于检查 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();
     }
}