Programming

HTML5 오디오가 재생 중인지 확인 하시겠습니까?

procodes 2020. 8. 7. 21:33
반응형

HTML5 오디오가 재생 중인지 확인 하시겠습니까?


html5 오디오 요소가 현재 재생 중인지 확인하기위한 자바 스크립트 API는 무엇입니까?


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();
     }
}

오디오가 실제로 재생되는지 확인하려면, 특히 스트림이있는 경우을 확인 audio.played.length해야 1합니다. 오디오가 실제로 시작 사운드 인 경우에만 1이됩니다. 그렇지 않으면 0. 해킹과 비슷하지만 Safari 및 Chrome과 같은 모바일 브라우저에서도 여전히 작동합니다.


onplay 이벤트를 사용할 수 있습니다.

var audio = document.querySelector('audio');
audio.onplay = function() { /* do something */};

또는

var audio = document.querySelector('audio');
audio.addEventListener('play', function() { /* do something */ };

isPlaying 또는 이와 유사한 메소드는 없지만이를 수행하는 몇 가지 방법이 있습니다.

이 메서드는 오디오가 재생 될 때 진행률의 %를 가져옵니다.

function getPercentProg() {
    var myVideo = document.getElementById('myVideo');
    var endBuf = myVideo.buffered.end(0);
    var soFar = parseInt((endBuf / myVideo.duration) * 100);
    document.getElementById('loadStatus').innerHTML =  soFar + '%';
}

퍼센트가 0보다 크고 100보다 작 으면 재생 중이고 그렇지 않으면 중지됩니다.

참고 URL : https://stackoverflow.com/questions/9437228/html5-check-if-audio-is-playing

반응형