Відповіді:
function isPlaying(audelem) { return !audelem.paused; }
Аудіотег має 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.
}
!myAudio.paused||!myAudio.currentTime
зробило б кращу роботу.
!myAudio.paused || myAudio.currentTime
?
!myAudio.paused || myAudio.currentTime
. Ніколи не відповів назад, здається ...
Хоча я дуже спізнююся з цією темою, я використовую цю реалізацію, щоб з'ясувати, чи звучить звук:
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 */ };
Я використовую цей код jquery за допомогою кнопки відтворення та зупинки, кнопка відтворення - кнопка відтворення та натискання кнопки
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, він грає, інакше він зупиняється.