HTML5 오디오 재생 여부 확인?
html5 오디오 요소가 현재 재생되고 있는지 확인하기 위한 javascript api는 무엇입니까?
function isPlaying(audelem) { return !audelem.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();
}
}
이 코드가 작동할 수 있을지 궁금했는데 놀랍게도 이렇게 되었습니다.
if (a.paused == false) {
/*do something*/
}
또는 다음과 같이 쓸 수 있습니다.
if (!a.paused == true) {
/*do something*/
}
Jsfiddle에서 IDE가 당신을 짜증나게 하고 싶다면.
온플레이 이벤트를 이용하시면 됩니다.
var audio = document.querySelector('audio');
audio.onplay = function() { /* do something */};
아니면
var audio = document.querySelector('audio');
audio.addEventListener('play', function() { /* do something */ };
다음 코드를 사용해 보십시오.
var myAudio = document.getElementById("audioFile");
function playAudio() {
//audio.play();
//console.log(audio.play())
if (myAudio.paused && myAudio.currentTime >= 0 && !myAudio.started) {
myAudio.play();
console.log("started");
} else {
myAudio.pause();
}
}
오디오 재생이 정말 시작되는지 확인하려면, 특히 스트림이 있는 경우 확인해야 합니다.audio.played.length로.1. 오디오가 진짜 시작음일 경우에만 1이 됩니다.그렇지 않으면.0. 이것은 해킹에 가깝지만 사파리나 크롬과 같은 모바일 브라우저에서도 여전히 작동합니다.
이런식으로 합니다.
<button id="play">Play Sound</button>
<script>
var sound = new Audio("path_to_sound.mp3")
sound.loop = false;
var play = document.getElementById("play")
play.addEventListener("click", () => {
if (!isPlaying()) {
sound.play()
} else {
//sound.pause()
}
})
function isPlaying() {
var infoPlaying = false
var currentTime = sound.currentTime == 0 ? true : false
var paused = sound.paused ? true : false
var ended = !sound.ended ? true : false
var readyState = sound.readyState == 0 ? true : false
if (currentTime && paused && ended && readyState) {
infoPlaying = true
} else if (!currentTime && !paused && ended && !readyState) {
infoPlaying = true
}
return infoPlaying
}
</script>
오디오 일시 중지 버튼 재생을 위해 사용합니다.
var audio=$("audio").get[0];
if (audio.paused || audio.currentTime == 0 || audio.currentTime==audio.duration){
//audio paused,ended or not started
audio.play();
} else {
//audio is playing
audio.pause();
}
나는 이 jquery code를 사용하고 있고 tow button play and stop, play button은 play and pouse button입니다.
const help_p = new Audio("audio/help.mp3");//Set Help Audio Name
$('#help_play').click(function() {//pause-Play
if (help_p.paused == false) {
help_p.pause();//pause if playing
} else {
help_p.play();//Play If Pausing
}
});
$('#help_stop').click(function() {//Stop Button
help_p.pause();//pause
help_p.currentTime = 0; //Set Time 0
});
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
'programing' 카테고리의 다른 글
| 명령줄 경로에 공백이 있는 PowerShell 스크립트를 실행하려면 어떻게 해야 합니까? (0) | 2023.11.04 |
|---|---|
| 제거한다.제거한다.wp_nav_메뉴 출력에서 포장지 (0) | 2023.11.04 |
| 자바스크립트에서 Typed Arrays의 장점은 C에서 작동하는 것과 같거나 비슷하다는 것입니까? (0) | 2023.11.04 |
| JQuery를 사용하여 특정 자식 요소가 없는 요소를 선택하는 방법 (0) | 2023.11.04 |
| PHP를 사용하여 압축과 함께 PNG를 JPG로 변환하시겠습니까? (0) | 2023.11.04 |