Kürzlich schreibe ich einen benutzerdefinierten Player. Bevor wir schreiben, müssen wir alle Eigenschaften und Methoden des Players durchgehen. Nur wenn wir unsere Feinde und uns selbst kennen, können wir hundert Schlachten bestehen ... Später werden wir darüber diskutieren Der Player, den wir geschrieben haben, und einige Fallstricke, auf die wir gestoßen sind. Laden Sie ihn auch hoch
Inline-Attribute für Video-TagsEs sollte noch mehr geben ... aber ich habe sie noch nicht verwendet. Sie können die MDN-Dokumentation überprüfen.
Eigenschaften und Methoden des Videoobjekts1. Fehlerstatus
$video.error; //null: normal $video.error.code; //1. Benutzerbeendigung 2. Netzwerkfehler 3. Dekodierungsfehler 4. Ungültige URL
2. Netzwerkstatusattribute (einige werden häufiger verwendet)
$video.currentSrc; //Die URL der aktuellen Ressource zurückgeben $video.src = value; //Die URL der aktuellen Ressource zurückgeben oder festlegen $video.canPlayType(type); //Gibt an, ob Ressourcen in einem bestimmten Format vorliegen können abgespielt $video.networkState ; //0. Dieses Element ist nicht initialisiert 1. Normal, verwendet aber nicht das Netzwerk 2. Daten werden heruntergeladen 3. Keine Ressource gefunden $video.load( //Die durch src $ angegebene Ressource neu laden video.buffered; //Kehre zum gepufferten Bereich zurück, $video.buffered.end(0) ruft den letzten Moment der Daten ab $video.preload; //none: Metadaten nicht vorladen: Ressourceninformationen automatisch vorladen:
3.Bereitschaftszustand
$video.readyState; //1:HAVE_NOTHING 2:HAVE_METADATA 3.HAVE_CURRENT_DATA 4.HAVE_FUTURE_DATA 5.HAVE_ENOUGH_DATA $video.seeking; //Ob gesucht wird
4. Spielstatus (häufig verwendet)
$video.currentTime = value; //Die aktuelle Wiedergabeposition, Zuweisung kann die Position ändern $video.duration; //Die aktuelle Ressourcenlänge gibt unendlich zurück $video.paused //Ob angehalten werden soll $video.defaultPlaybackRate = value; //Standard: Die Wiedergabegeschwindigkeit kann eingestellt werden. $video.playbackRate = value; //Die aktuelle Wiedergabegeschwindigkeit wird sofort nach dem Festlegen geändert. $video.seekable; //Zurück zum Suchbereich $video.ended; $video.autoPlay; //Ob automatisch abgespielt werden soll $video.loop; //Ob eine Schleife abgespielt werden soll $video.play(); //Wiedergabe $video.pause();
5.Kontrolle
$video.controls;//Ob es eine Standardkontrollleiste gibt $video.volume = value; //Volume $video.muted = value; //Videoereignismethode stummschalten (normalerweise hinzugefügt *) Loadstart //Der Client beginnt mit der Anforderung data *progress //Der Client fordert eine Datenunterbrechung an //Verzögerter Download-Abbruch //Der Client beendet den Download aktiv (nicht durch einen Fehler verursacht), *error //Bei der Anforderung von Daten ist ein Fehler aufgetreten //Netzwerkgeschwindigkeit blockiert * play //play () und Autoplay lösen eine *Pause aus, wenn die Wiedergabe gestartet wird //pause() löst geladene Metadaten aus //Erhält erfolgreich die Ressourcenlänge *waiting //Warten auf Daten, kein Fehler *playing //Wiedergabe starten canplay //Kann abspielen, kann aber aufgrund des Ladens in der Mitte angehalten werden *canplaythrough // Kann die Suche abspielen // Während der Ressourcensuche gesucht // Ressourcensuche abgeschlossen *timeupdate // Wiedergabezeit geändert *ended // Wiedergabe beendet ratechange // Wiedergaberate geändert durationchange // Ressourcenlänge geändert *volumechange // Lautstärke geändert
Grundsätzlich wird der benutzerdefinierte Player-Code basierend auf dieser API und diesen Attributen geschrieben, sodass Sie ihn später bequem überprüfen können....
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Studium aller hilfreich ist. Ich hoffe auch, dass jeder das VeVb Wulin Network unterstützt.