Mediaelement.js: Wie ändere ich das Posterbild?

9

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.

    
tremby 03.03.2012, 01:46
quelle

3 Antworten

1

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%     
Dan Coates 14.10.2013, 06:08
quelle
0

Hmm, da dies noch offen ist, würde ich vorschlagen, einen ganz anderen Ansatz zu wählen.

  • Richten Sie 4 HTML-Videoobjekte mit den jeweils benötigten Attributen ein
  • Verwenden Sie javascript, um zu wechseln, welche sichtbar ist und spielen Sie

Hoffe das hilft!

    
nerdburn 13.06.2012 17:14
quelle
0

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"

  • zuzugreifen
  • 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!)

  • Platzieren Sie das Video in einem eigenen <span id="myvideo2"> oder <div id="myvideo2"> -Tag. Stellen Sie sicher, eine ID zu geben, z. "myvideo2"
  • Ändern Sie innerHTML mit document.getElementById("myvideo2").innerHTML= /*Escaped Javascript for the HTML code for the video with new source"*/
  • Sollte in allen Browsern funktionieren
dp4 11.06.2013 07:00
quelle

Tags und Links