9
votes

MediaElement.js: Comment changer l'image de l'affiche?

J'essaie de changer les sources vidéo via JS. C'est surtout fonctionne.

var basename = "video/whatever";
$("#myvideo")[0].setSrc([
    {type: "video/mp4", src: basename + ".mp4"},
    {type: "video/webm", src: basename + ".webm"},
    {type: "video/ogg", src: basename + ".ogv"}
]);


0 commentaires

3 Réponses :


0
votes

hmm, car cela est toujours ouvert, je suggérerais de prendre une approche différente entièrement.

  • Configurez 4 objets vidéo HTML avec les attributs dont vous avez besoin
  • Utilisez JavaScript pour basculer lequel est visible et jouez-le

    espère que cela aide!


0 commentaires

0
votes

Prenez une approche complètement différente.

APPROCHE 1: P>

<video controls="controls" id="Player" height="200" width="600">
<source src="video.mp4">
<object id="Player" height=200" width="600"  classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6">
<!-- Windows Media Player Backup For IE -->
<param name="Showcontrols" value="True">
<param name="URL" value="video.mp4">
<param name="AllowShuffle" value="Yes">
<param name="autoStart" value="True">
<param name="Volume" value="100">
<param name="EnableContextMenu" value="False">
<!-- For browsers that do not support HTML5 Video -->
<embed src="video.mp4" autoplay="autoplay" controls="controls" height="200" width="600" id="Player">
</object>
</video>


0 commentaires

1
votes

Je sais que c'est une question assez ancienne, mais je pensais poster la réponse qui a fonctionné pour moi. XXX

Voici une bonne explication de ce que le SettimeOut fait: Httptps://stackoverflow.com/a/779785/1425269 .

Vous avez peut-être aussi besoin de certains CSS pour l'affiche image, selon le thème que vous utilisez. xxx


2 commentaires

Est-ce que le settimeout repéral est nécessaire ou êtes-vous simplement "gentil" au navigateur? (Et vous avez dit frontière: 0; deux fois.) Ceci semble léger que cela devrait fonctionner. Retour Lorsque j'ai écrit la question, je pense que j'avais supposé que l'image de l'affiche ferait partie du flash / Silverlight (lorsque la vidéo HTML n'est pas disponible), le remplacement de HTML ne serait donc pas utile. Mais maintenant, j'y pense que cela semble naturel que ce serait un élément HTML et non dans le flash / silverlight du tout. Pouvez-vous confirmer cela? (Le projet dont j'avais besoin pour cela est parti depuis longtemps.)


Merci, j'ai édité de supprimer la bordure en double : 0; . J'ai constaté que sans le Settimeout La méthode de pause n'aurait pas le temps d'exécuter et de rendu complètement avant que la source ait été modifiée. En présentant le Settimeout tout ce qui s'y trouve sera ajouté à la file d'attente d'exécution du navigateur après la tâche de rendu / repeinte, le bouton Big Play doit donc montrer correctement.