Yanıtlar:
function isPlaying(audelem) { return !audelem.paused; }
Ses etiketinin bir paused
özelliği vardır. Duraklatılmamışsa, çalmaktadır.
Süreyi kontrol edebilirsiniz. Süre 0 saniyeden fazlaysa ve duraklatılmamışsa çalmaktadır.
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.
}
!myAudio.paused||!myAudio.currentTime
bunun daha iyi bir iş çıkaracağına inanıyorum .
!myAudio.paused || myAudio.currentTime
?
!myAudio.paused || myAudio.currentTime
. Asla cevap
Bu konuya gerçekten geç kalmama rağmen, sesin çalıp çalmadığını anlamak için bu uygulamayı kullanıyorum:
service.currentAudio = new Audio();
var isPlaying = function () {
return service.currentAudio
&& service.currentAudio.currentTime > 0
&& !service.currentAudio.paused
&& !service.currentAudio.ended
&& service.currentAudio.readyState > 2;
}
Sanırım ses öğesindeki bayrakların çoğu, burada okuyabileceğiniz hazır durumundan ayrı olarak açık: MDN HTMLMediaElement.readyState .
document.getElementsByTagName('audio').addEventListener('playing',function() { myfunction(); },false);
Hile yapmalı.
Bu işlevi deneyin! Konum başlangıç veya bitiş ise ses çalınmayacaktır
function togglePause() {
if (myAudio.paused && myAudio.currentTime > 0 && !myAudio.ended) {
myAudio.play();
} else {
myAudio.pause();
}
}
Sesin gerçekten çalmaya başlayıp başlamadığını kontrol etmek için, özellikle de bir yayınınız varsa, kontrol audio.played.length
etmeniz gerekir 1
. Sadece ses gerçekten başlangıç sesleri ise 1 olacaktır. Aksi takdirde olacak 0
. Daha çok bir bilgisayar korsanlığı gibi, ancak yine de Safari ve Chrome gibi mobil tarayıcılarda bile çalışıyor.
onplay olayını kullanabilirsiniz.
var audio = document.querySelector('audio');
audio.onplay = function() { /* do something */};
veya
var audio = document.querySelector('audio');
audio.addEventListener('play', function() { /* do something */ };
Bu jquery kodunu çekme düğmesi oynatma ve durdurma ile kullanıyorum, oynat düğmesi bir oynat ve pouse düğmesidir
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
});
İsPlaying veya benzer bir yöntem olarak adlandırılan bir yöntem olmasa da, bunu başarmanın birkaç yolu vardır.
Bu yöntem, ses çalarken ilerleme yüzdesini alır:
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 + '%';
}
Yüzde, 0'dan büyük ve 100'den küçükse oynamaktadır, aksi takdirde durdurulur.