web-dev-qa-db-fra.com

Comment changer de source dans une vidéo html5 avec jQuery

J'ai un flux vidéo html5 et je dois changer le code source * après une action de clic. Donc, ce que je fais fonctionne, mais seulement en HTML, je peux voir le changement de source mais il ne change pas sur mon écran, pouvez-vous m'aider? Qu'est-ce qui ne va pas? * La source est en train d'ajouter du fichier XML. 

HTML

<video autoplay loop width="960" height="540" id="video">
    <source src="video/movie_01.mp4" id="tv_main_channel">
</video>

JS

btn.on('click', function(){
    var tv_main_channel = $('#tv_main_channel'),
        d_program_source_mp4 = $(program_self).find("program_source_mp4").text();

    tv_main_channel.attr('src', d_program_source_mp4);
}

aussi je l'essaie avec append mais cela ne fonctionne toujours pas

var video_block = $('#video');

video_block.empty();
video_block.append(
    '<source src="'+ d_program_source_mp4 +'">'
);

Merci pour l'aide.

13
Lukas

C'est simple, faites ceci:

btn.on("click", function(){
  var src = "new_video_src.mp4";
  $("#video").find("#tv_main_channel").attr("src", src)
})
12
Eric Martins

Voir ce violon: http://jsfiddle.net/qGbzb/2/

Pour charger dynamiquement les vidéos que vous devez exécuter

var video_block = $('#video');
video_block.load();

Ensuite, vous devriez également voir un changement dans l'affichage, et pas seulement dans le code HTML.

26
richie

Vous pouvez utiliser comme ceci dans l'événement click

  var src = "new_video_src.mp4";
  $("#tv_main_channel").src=src;

C'est la méthode actuelle pour les éléments de balises vidéo

0
Manu M