2014-11-06 87 views
1

我'不知道我怎麼能去改變只有以下兩種來源,WEBM的一個,另一個在我的視頻標籤.MP4:上單擊更改某些視頻源

HTML:

<video controls="controls" preload="auto" id="video" onclick="this.play();"> 
     <source src="fragmenten/real_schade.mp4" type="video/mp4"> </source> 
     <source src="fragmenten/real_schade.webm" type="video/webm"> </source> 
      Your browser doesn't support the video element. 

    </video> 

JQuery的:

var bvideo = document.getElementById('background'); 

$("#car").on('click', function(){ 
    bvideo.pause(); 
    showPlaceHolder(); 
    showVID(); 
    $("#video").attr("src","fragmenten/real_schade2.mp4"); 
    $('#video').attr("autoplay", "autoplay"); 
}); 

這隻能直接插入源入標籤,我怎樣才能改變兩個來源,我與視頻標籤賦予改變的.mp4和.webm並不會改變這兩個來源一個源/插入視頻SRC到標籤

回答

2

如果要替換所有來源dynamicall不改變文件擴展名,你可以這樣做:

$(document).ready(function() { 
    changeVideoTo("fragmenten/real_schade2"); 
}); 

function changeVideoTo(name) { 
    $("#video source").each(function() { 
     var oldSource = $(this).attr("src"); 
     var fileExtension = oldSource.split(".")[1] 
     $(this).attr("src", name + "." + fileExtension); 
    }); 
} 

小提琴:http://jsfiddle.net/beznbxqc/2/

+0

這個作品,謝謝先生! – Gerwin 2014-11-06 12:38:32

+0

實際上,它只能在一定程度上起作用..它取代了我的

+0

您必須在視頻元素末尾調用'.load()'。我沒有示例視頻來向您顯示這個... – 2014-11-06 13:02:29

1
$("#video source:nth-of-type(1)").attr('src', videoFile); 
$("#video video")[0].load() 

嘗試這種情況:

+1

您應該添加一個解釋這個答案。事實上,它出現在「低質量郵件隊列」中,並可能被刪除。 – 2014-11-06 12:54:44

+0

@ v.k。主席先生,你知道爲什麼視頻在更換視頻源後仍然播放舊視頻嗎? – Gerwin 2014-11-06 13:00:27

1

嘗試使用這個代碼,以改變第一源:

$("#video source:first-of-type").attr("src","first/source.mp4"); 

並且這改變第二源:

$("#video source:last-of-type").attr("src","first/source.webm"); 

我希望它有效:D