14

我有一个 html5 视频流,我需要在一些点击操作后更改它的源*。所以我正在做的工作,但只有在 html 中,我可以看到源代码更改但它在我的显示器上没有变化,你能帮我吗?怎么了?*源是附加来自 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);
}

我也试过了,append但还是不行

var video_block = $('#video');

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

谢谢帮助。

4

3 回答 3

28

See this fiddle: http://jsfiddle.net/qGbzb/2/

To dynamically load videos you need to run

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

Then you should also see a change in the display too, and not only in the html.

于 2013-02-10T16:05:59.463 回答
14

很简单,只要这样做:

btn.on("click", function(){
  var src = "new_video_src.mp4";
  $("#video").find("#tv_main_channel").attr("src", src)
})
于 2013-02-10T15:43:06.313 回答
0

您可以在点击事件中这样使用

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

这是视频标签元素的实际方法

于 2013-08-23T05:31:58.090 回答