Jawaban:
function isPlaying(audelem) { return !audelem.paused; }
Tag Audio memiliki paused
properti. Jika tidak dihentikan sebentar, maka itu sedang diputar.
Anda dapat memeriksa durasinya. Sedang diputar jika durasinya lebih dari 0 detik dan tidak dihentikan sementara.
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
akan melakukan pekerjaan yang lebih baik.
!myAudio.paused || myAudio.currentTime
?
!myAudio.paused || myAudio.currentTime
. Tidak pernah membalas kembali sepertinya ...
Meskipun saya sangat terlambat ke utas ini, saya menggunakan implementasi ini untuk mencari tahu apakah suaranya diputar:
service.currentAudio = new Audio();
var isPlaying = function () {
return service.currentAudio
&& service.currentAudio.currentTime > 0
&& !service.currentAudio.paused
&& !service.currentAudio.ended
&& service.currentAudio.readyState > 2;
}
Saya rasa sebagian besar tanda pada elemen audio sudah jelas terlepas dari status siap yang dapat Anda baca di sini: MDN HTMLMediaElement.readyState .
document.getElementsByTagName('audio').addEventListener('playing',function() { myfunction(); },false);
Harus melakukan trik.
Coba fungsi ini! Pemutaran audio tidak akan dijalankan jika posisinya di awal atau di akhir
function togglePause() {
if (myAudio.paused && myAudio.currentTime > 0 && !myAudio.ended) {
myAudio.play();
} else {
myAudio.pause();
}
}
Untuk memeriksa apakah audio benar-benar mulai bermain, terutama jika Anda memiliki sungai, perlu untuk memeriksa audio.played.length
ke 1
. Ini akan menjadi 1 hanya jika audio benar-benar mulai berbunyi. Jika tidak akan 0
. Ini lebih seperti peretasan, tetapi masih berfungsi bahkan di browser seluler, seperti Safari dan Chrome.
Anda bisa menggunakan acara onplay.
var audio = document.querySelector('audio');
audio.onplay = function() { /* do something */};
atau
var audio = document.querySelector('audio');
audio.addEventListener('play', function() { /* do something */ };
Saya menggunakan kode jquery ini dengan tombol putar dan berhenti, tombol putar adalah tombol putar dan putar
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
});
Meskipun tidak ada metode yang disebut isPlaying atau yang serupa, ada beberapa cara untuk melakukannya.
Metode ini mendapatkan% kemajuan saat audio diputar:
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 + '%';
}
Jika persen lebih besar dari 0 dan kurang dari 100, itu diputar, jika tidak maka dihentikan.