Ich arbeite an einer Online-Radio-Website und versuche herauszufinden, in welchem Status der Audio-Player derzeit für den Benutzer ist.Wie kann ich erkennen, ob mein Audio-Stream ist: Wiedergabe, Pause oder beendet?
Die aktuelle Einrichtung, die ich habe, ist oft falsch in dies zu wissen, und wenn ich auf iOS bin und ich pausiere vom Sperrbildschirm Player stattdessen, es wird immer noch denken, es spielt, weil ich nie die HTML-Pause-Taste geklickt habe.
Endlich wie ist es möglich zu erkennen, wenn mein Stream vollständig beendet ist. Ich habe versucht: onstalled=""
, onwaiting=""
, onerror=""
, onended=""
. Aber keiner von ihnen arbeitet 100% der Zeit. Der nächste, der am besten funktioniert, wäre: onstalled=""
, aber selbst das hatte nur eine Erfolgsquote von 60% (manchmal, wenn ich die Seite lade, würde es mir sagen, dass sie beendet ist).
HTML:
<audio autoplay="" id="player" title="" oncanplay="radioLoaded()">
<source src="...">
</audio>
Javascript:
function radioLoaded() {
if (player.paused) {
document.getElementById('radioplaypause').innerHTML = varRadioResume;
} else if (player.play) {
document.getElementById('radioplaypause').innerHTML = varRadioPause;
} else {
document.getElementById('radioplaypause').innerHTML = varRadioLoading;
}
window.player = document.getElementById('player');
document.getElementById('radioplaypause').onclick = function() {
if (player.paused) {
player.play();
this.innerHTML = varRadioPause;
} else {
player.pause();
this.innerHTML = varRadioResume;
}
}
};
function radioEnded() {
document.getElementById('radiolivetext').innerHTML = 'OFFLINE';
document.getElementById('radioplayer').style.display = 'none';
document.getElementById('radioinformation').style.display = 'none';
};
Können Sie genau erklären, was Sie mit "beendet" genau meinen? Wird es nur zufällig unterbrochen, wenn das Audio aufgrund einer langsamen Verbindung gepuffert wird oder wenn der Benutzer auf die Schaltfläche "Pause/Stopp" oder etwas anderes klickt? –
Wenn mein Radio für die Nacht fertig ist. Wenn ich keine Daten mehr auf die Website sende bzw. hochlade. –