2012-11-21 43 views
4

我的頁面包含這個<video>標籤有幾個字幕<track> s。我想通過點擊使用jQuery相應的國旗,以使在飛行軌道:如何更改html5視頻元素的默認軌道?

<div id="lang"> 
    <img src="mini/ita.png" class="it" alt="Italiano" title="Italiano" /> 
    <img src="mini/eng.png" class="en" alt="English" title="English" />   
    </div> 


<video controls="controls" > 

    <source src="webcast.webm" /> 
    <source src="webcast.mp4" /> 
    <source src="webcast.ogv" /> 

    <track kind="subtitles" src="./sub-en.vtt" srclang="en" /> 
    <track kind="subtitles" src="./sub-it.vtt" srclang="it" /> 

</video> 

<script> 
$('#lang img').click(function(){ 
    language=$(this).attr('class'); 

    $('video track').removeAttr('default'); 
    $('video track[srclang='+language+']').attr('default','default'); 
}); 
</script> 

「默認」屬性被正確地插入,但沒有字幕displaied。手動插入默認屬性可以很好地工作(在chrome和opera上)。

+0

通過你的js中設置的缺省標記的時候,一個在瀏覽器可能已經選擇默認。您可以嘗試將textTrack.mode屬性設置爲在所需軌道上「顯示」。 –

回答

0
<script> 
$('#lang img').click(function(){ 
    var language=$(this).attr('class'); 

    $($('video').prop('textTracks')).prop('mode', function(){ 
     return this.language == language ? 'showing' : 'disabled'; 
    }); 
}); 
</script> 
+0

謝謝。不幸的是你的解決方案不起作用 –

+0

適合我。看到這裏:http://corrupt-system.de/track.html –

+0

這非常麻煩。您的鏈接示例**不會在鉻22上啓動**; ** show subs **在firefox 17中; **不在歌劇12中顯示subs **。 [我的示例](http://ross.iasfbo.inaf.it/~gloria/eclipse/test.html),使用您的建議構建,並不適用於所有他們三個。 –

0
$('#lang img').click(function(){ 
    language=your value; 
    $('#yourID').attr('srclang', language); 
}); 

做這樣的..