Html5オーディオ要素が現在再生されているかどうかを確認するためのJavaScript 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 */ };