2015-03-04 2 views
1

Je ne suis pas encore vraiment 'bon' avec Javascript et jQuery mais j'apprends. Ce qui suit, cependant, me déconcerte:Vous modifiez également la source de fichier/source vidéo HTML5 alternative via jQuery?

J'ai une balise standard vidéo HTML5:

<video id="videoclip"> 
    <source src="video.mp4" type="video/mp4"> 
    <source src="video.webm" type="video/webm"> 
    </video> 

Maintenant, je dois changer pour src vidéo via jQuery. Si je n'ai une source de savoir

<source id="mp4" src="video.mp4" type="video/mp4"> 

Je fais juste ceci

function changeVideo() { 

     var newVideo = "new_video.mp4"; 

     $("#videoclip").attr("src",newVideo) } 

(cet extrait, j'abrégé j'ai en fait assez peu variables et les choses qui se passent là-bas mis en place.).

Cela fonctionne donc bien. Mais que dois-je faire si j'ai deux sources comme dans le tout premier segment de code? Un fichier webm alternatif?

J'ai essayé de donner les deux balises différentes sources ID comme ceci:

<source id="mp4" src="video.mp4" type="video/mp4"> 
    <source id="webm" src="video.webm" type="video/webm"> 

puis a fait ceci:

function changeVideo() { 

     var newVideo = "new_video.mp4"; 
     var newVideo2 = "new_video.webm"; 

     $("#mp4").attr("src",newVideo); 
     $("#webm").attr("src",newVideo2) 

ne fonctionne pas. Je veux dire que c'est la première fois que je joue la vidéo mais quand j'utilise une autre fonction similaire pour changer les sources encore une fois ça ne marchera pas. Ce sera la même source en premier lieu. Ça ne bougera pas. :(

Tout ce que j'ai écrit au cours des dernières heures fonctionne parfaitement maintenant avec cette exception

Comment puis-je obtenir passé cette exception

+0

Vous voulez une sélection de vidéos à partir d'une liste déroulante? Et par la sélection d'une vidéo particulière jouera son contenu .. – maxspan

Répondre

1

Vous devez ajouter ceci dans la fonction changeVideo:.?

$("#videoclip")[0].load(); 

$("#videoclip")[0].play(); 
+0

Vous n'avez pas besoin d'appeler «play» .Seulement si la vidéo s'est arrêtée avant. –