简体   繁体   English

如何更改html5视频元素的默认轨道?

[英]How can I change the default track of an html5 video element?

My page contains this <video> tag with several subtitle <track> s. 我的页面包含带有多个字幕<track><video>标签。 I would like to enable on the fly the track by clicking on the corresponding national flag using jquery: 我想通过使用jquery点击相应的国旗来即时启用轨道:

  <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>

The "default" attribute is correctly inserted, but no subtitle is displaied. 正确插入了“default”属性,但没有替换字幕。 Manually inserting the default attribute works perfectly (on chrome and opera). 手动插入默认属性非常有效(在chrome和opera上)。

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

Do like this.. 这样做..

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

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM