2

在我的网页中,我有视频,它有不同的 3 个来源。我需要在加载页面时更改视频 src。为此我正在使用此功能,但我无法在 ipad 中获取更新,但 firefox 工作正常。

jQuery:

$('#task2ResultVideo source').each(function (n,s) {
       $('#task2ResultVideo').get(0).pause();
       $(this).attr('src',$(this).attr('src').replace('Task_2.4a_Host_treated', task2RslVideo));
       $(this).parents('video').get(0).load();
    } )

HTML:

<video id="task2ResultVideo" autobuffer poster="img/task2-results-host-poster.jpg">
                        <source src="Video/webm/Task_2.4a_Host_treated.webm" type="video/webm" />
                        <source src="Video/ogv/Task_2.4a_Host_treated.theora.ogv" type="video/ogg" />
                        <source src="Video/MP4/Task_2.4a_Host_treated.mp4" type="video/mp4" />
                    </video>

我很困惑,有人帮助我吗?

我试过这个,src更新,但视频没有加载,旧视频播放.. Jquery:

  $('#task2ResultVideo source').each(function (n,s) {
       $('#task2ResultVideo')[0].pause();
       $(this).attr('src',$(this).attr('src').replace('Task_2.4a_Host_treated', task2RslVideo));
       setTimeout(function(){
        $('#task2ResultVideo').load();
        },1000)
       alert($(this).attr('src').replace('Task_2.4a_Host_treated', task2RslVideo));
    } )
4

1 回答 1

2

基于 Apple Developer 网站上的“按顺序替换媒体”:http: //developer.apple.com/library/safari/#documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/ControllingMediaWithJavaScript/ControllingMediaWithJavaScript.html#//apple_ref/doc/uid/ TP40009523-CH3-SW1

在该文档中,Safari 似乎在视频标签本身上寻找 src,而不是在其<source/>下方的标签中。

怎么样,作为一个简单的测试,试试这个看看它是否有效:

// obviously, wrap this in a function... this is simply for testing,
// as you'll want to refine this for use by other browsers as well,
// if this works
var $vid = $("#task2ResultVideo");
var src = "Video/MP4/" + task2RslVideo + ".mp4";
$vid.attr("src", src);
$vid.get(0).load();
$vid.get(0).play();

很想知道你得到了什么结果,因为这似乎是一个相当普遍的问题(我在 Google 搜索中也看到了很多与此相关的问题)。

更新了...当然会失败,因为没有设置,呃...我的错。但是,实际上,您的替换也很脆弱,因为它第一次会起作用(因为它知道“Task_2.4a_Host_treatment”存在),但在那之后,它就不再匹配了。在这种情况下,您应该从您知道的组件构建您的 src 字符串,而不是使用替换。

于 2012-10-24T14:25:21.150 回答