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"} ]);
3 Réponses :
hmm, car cela est toujours ouvert, je suggérerais de prendre une approche différente entièrement. p>
espère que cela aide! p>
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>
Je sais que c'est une question assez ancienne, mais je pensais poster la réponse qui a fonctionné pour moi. Voici une bonne explication de ce que le SettimeOut fait: Httptps://stackoverflow.com/a/779785/1425269 . p> Vous avez peut-être aussi besoin de certains CSS pour l'affiche image, selon le thème que vous utilisez. p>
Est-ce que le settimeout code> repéral est nécessaire ou êtes-vous simplement "gentil" au navigateur? (Et vous avez dit
frontière: 0; code> 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; code>. J'ai constaté que sans le
Settimeout code> 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 code> 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.