it-swarm.com.de

Überprüfen, ob ein HTML5-Video bereit ist

gibt es ein JavaScript-Ereignis, das ausgelöst wird, wenn ein HTML5-Video zur Wiedergabe bereit ist? 

37
dantz

Ich gehe davon aus, dass die Wiedergabebereitschaft bedeutet, dass die readyState-Eigenschaft gleich HAVE_ENOUGH_DATA-Konstante ist (numerischer Wert 4). Laut doc sollte ein canplay-Ereignis ausgelöst werden, wenn sich die readyState-Eigenschaft auf diesen Wert ändert.

16
Olivier Amblet

Ich bin gerade auf diese Frage gestoßen und obwohl sie ein wenig alt ist, poste ich dies für zukünftige Leser (die wie ich wahrscheinlich von Google kommen).

Ab heute ist dies die Ereignisliste für html5-Medien (laut W3C):

  • onabort : Skript, das beim Abbruch ausgeführt werden soll
  • oncanplay : Skript, das ausgeführt werden soll, wenn eine Datei zum Abspielen bereit ist (wenn sie genug gepuffert hat, um zu beginnen)
  • ondurchspielen : Skript, das ausgeführt werden soll, wenn eine Datei vollständig bis zum Ende abgespielt werden kann, ohne die Pufferung anzuhalten
  • ondurationchange : Skript, das ausgeführt wird, wenn sich die Länge des Mediums ändert
  • unversucht : Skript, das ausgeführt wird, wenn etwas Schlimmes passiert und die Datei plötzlich nicht mehr verfügbar ist (wie unerwartete Verbindungsabbrüche)
  • bedient : Skript, das ausgeführt werden soll, wenn das Medium das Ende erreicht hat (ein nützliches Ereignis für Mitteilungen wie "Danke fürs Zuhören")
  • onerror  : Skript, das ausgeführt werden soll, wenn beim Laden der Datei ein Fehler auftritt
  • onloadeddata : Skript, das ausgeführt werden soll, wenn Mediendaten geladen werden
  • onloadedmetadata : Skript, das ausgeführt wird, wenn Metadaten (wie Dimensionen und Dauer) geladen werden
  • onloadstart : Skript, das ausgeführt wird, sobald die Datei geladen wird, bevor tatsächlich etwas geladen wird
  • onpause : Skript, das ausgeführt wird, wenn das Medium vom Benutzer oder programmgesteuert angehalten wird
  • onplay : Skript, das ausgeführt werden soll, wenn das Medium startbereit ist
  • onplaying : Skript, das ausgeführt werden soll, wenn das Medium tatsächlich abgespielt wurde
  • in Arbeit : Skript, das ausgeführt werden soll, wenn der Browser gerade die Mediendaten abruft
  • onratechange : Skript, das bei jeder Änderung der Wiedergaberate ausgeführt wird (z. B. wenn ein Benutzer in einen Zeitlupen- oder Schnellvorlaufmodus wechselt)
  • onreadystatechange : Skript, das bei jeder Änderung des Bereitschaftsstatus ausgeführt wird (der Bereitschaftsstatus verfolgt den Zustand der Mediendaten)
  • ein Seeker : Skript, das ausgeführt werden soll, wenn das Attribut search auf false gesetzt ist, um anzuzeigen, dass die Suche beendet wurde
  • onseeking : Skript, das ausgeführt werden soll, wenn das Attribut search auf true gesetzt ist, um anzuzeigen, dass die Suche aktiv ist
  • installiert : Skript, das ausgeführt werden soll, wenn der Browser die Mediendaten aus irgendeinem Grund nicht abrufen kann
  • onsuspend : Das Skript, das beim Abrufen der Mediendaten ausgeführt werden soll, wird angehalten, bevor sie aus irgendeinem Grund vollständig geladen wird
  • ontimeupdate : Skript, das ausgeführt wird, wenn sich die Wiedergabeposition geändert hat (z. B. wenn der Benutzer an einen anderen Punkt im Medium vorspult)
  • onvolumewange : Skript, das bei jeder Änderung des Volumes ausgeführt werden soll (einschließlich Einstellung der Lautstärke auf "stumm")
  • warten : Skript, das ausgeführt werden soll, wenn der Datenträger angehalten wurde, aber voraussichtlich wieder aufgenommen wird (z. B. wenn der Datenträger angehalten wird, um weitere Daten zu puffern).

Dantz war auf der Suche nach einem Durchspiel.

Hoffe das hilft.

80
MeanMatt

Gute Diskussion hier ...

http://tiffanybbrown.com/2010/07/05/the-html5-video-progress-event/

Vor allem der erste Kommentar. 

Im Grunde befand sich dies in der Spezifikation und wurde entfernt, da es nicht unbedingt mit der Art und Weise der Medienwiedergabe zusammenhing. Stattdessen wurde .buffered hinzugefügt.

Hier ist ein Beispiel für gepufferte Anwendungen:

http://hacks.mozilla.org/2010/08/html5-video-buffered-property-available-in-firefox-4/

6
Orbit

Sie müssen zwei Ereignisse bearbeiten, wenn ein Video zur Wiedergabe bereit ist.

  • canplay: Wird ausgelöst, wenn das Video spielbereit ist Die Pufferung ist jedoch nicht abgeschlossen
  • canplaythrough: Wird ausgelöst, wenn das Video abspielbereit ist und die Pufferung abgeschlossen ist
2
Yann L.

Ich habe http://www.w3.org/TR/html5/video.html#mediaevents als äußerst nützlich erachtet, da es alle Ereignisse auflistet, die verfügbar sind, wenn es sich um html5-Medien-Tags handelt.

0
boz