Ich versuche, die Videoquellen über JS zu ändern. Das funktioniert meistens.
%Vor%Also erstes Problem: Wenn ich die Quellen ändere, wird die Pause-Schaltfläche angezeigt und nicht abgespielt und die große Overlay-Schaltfläche wird nicht angezeigt, obwohl sie angehalten wurde. Ich habe versucht, verschiedene Kombinationen von stop () und pause () und setCurrentTime (0) vor und nach dem setSrc Aufruf, aber kein Glück zu senden.
Wichtigeres Problem: Ich habe keine Möglichkeit gefunden, das Posterbild des Videos zu ändern. Ich habe erwartet, eine Methode in der API zu sehen, um es zu ändern, da ich möchte, dass es für die Flash- / Silverlight-Fallbacks auch aktualisiert. Ich habe versucht, nur das Poster-Attribut auf dem Video-Element zu ändern, aber das scheint es nicht zu tun.
Ich weiß, dass das eine ziemlich alte Frage ist, aber ich dachte, ich würde die Antwort posten, die für mich funktioniert hat.
%Vor%Hier ist eine gute Erklärung dafür, was setTimeout macht: Ссылка .
Sie können auch ein CSS für das Poster-Bild benötigen, je nachdem, welches Thema Sie verwenden.
%Vor%Gehen Sie völlig anders vor.
Vorgehensweise 1:
%Vor% (Das <object>
-Tag ist für IE, da HTML 5-Video nicht immer korrekt gerendert wird, oder es manchmal nicht möglich ist, die Videoquelle zu ändern)
Ändern Sie den Quellcode in allen Browsern (außer IE, der src von <video>
usw. nicht ändern kann), um auf document.getElementById("player").src="newvideo.mp4"
Für Internet Explorer lautet der Code: Player.url = "newvideo.mp4"
Der einzige Browser, der zusätzliche Probleme verursachen kann, ist Safari.
APPROACH 2: (Kann auch mit jQuery verwendet werden!)
<span id="myvideo2">
oder <div id="myvideo2">
-Tag. Stellen Sie sicher, eine ID zu geben, z. "myvideo2" document.getElementById("myvideo2").innerHTML= /*Escaped Javascript for the HTML code for the video with new source"*/
Tags und Links javascript mediaelement.js