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 サイトの「メディアを順番に置き換える」に基づいてい ます。 TP40009523-CH3-SW1

そのドキュメントでは、Safari が video タグ自体で 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_treated」が存在することがわかっているため)、置換も脆弱ですが、その後は一致しなくなります。この場合、置換を使用するのではなく、既知のコンポーネントから src 文字列を構築する必要があります。

于 2012-10-24T14:25:21.150 に答える