Javascript 动态更改字幕视频-HTML5
我正在尝试使用以下代码行动态更改按钮单击时的字幕轨迹。但它没有更改字幕。为什么Javascript 动态更改字幕视频-HTML5,javascript,jquery,html,video,Javascript,Jquery,Html,Video,我正在尝试使用以下代码行动态更改按钮单击时的字幕轨迹。但它没有更改字幕。为什么 $(“#关闭”)。单击(函数(){ $('.player content video track').attr('default',false); }); $(“#英语”)。单击(函数(){ $('.player content video track').attr('default',false); $('.player content video track').eq(0).attr('default',fal
$(“#关闭”)。单击(函数(){
$('.player content video track').attr('default',false);
});
$(“#英语”)。单击(函数(){
$('.player content video track').attr('default',false);
$('.player content video track').eq(0).attr('default',false);
});
$(“#中文”)。单击(函数(){
$('.player content video track').eq(1).attr('default',false);
});代码>
没有字幕
英语
中文
如果需要更改曲目
标记上的默认
属性,可以使用以下脚本:
例如,请检查DOM以查看结果(因为视频和曲目src不存在):
可以按以下方式使用jQuery:eq()选择器
。
$('.player内容视频曲目:eq(0))
顺便说一下,使用:eq()
使您的代码依赖于您在DOM中的
位置,并且当用户单击一个按钮时,需要使用所有DOM,这在可维护性和性能方面不是很好的方法
相反,您可以在使用jQuery时通过id引用
,并缓存您的DOM选择
没有字幕
英语
中国人
检查有关此主题的MDN文章您需要更改视频中项目的模式。textTracks
数组属性注意,stacksnippets处track
元素的源路径不完整trach src仅用于demonstration@ShijinTR你可以再详细一点吗?我的答案中的代码根据用户选择的曲目更改DOM是否添加默认标记。请创建一个完整的小提琴与您的真实曲目,以便我们可以调试您的问题正确。DOM正在更改,但在视频上的曲目没有updateing@ShijinTR感谢您的报道,您的曲目有什么问题吗?您能提供一个真实的例子吗?如果我们不能访问您的曲目,那么调试您的代码是很困难的。顺便说一下,如果你认为我的答案甚至部分地帮助了你的问题,请考虑投票或接受它:)但是我的问题是改变轨道而不是用DOM。在这个例子中有什么方法可以使用我的轨道吗?
$('#turnoff').click(function(){
$('.player-content-video track').attr('default',false);
});
$('#english').click(function(){
$('.player-content-video track').attr('default',false);
$('.player-content-video track:eq(0)').attr('default',true);
});
$('#chinese').click(function(){
$('.player-content-video track').attr('default',false);
$('.player-content-video track:eq(1)').attr('default',true);
});
<video class="player-content-video">
<track src="sample_video-en.vtt" srclang="en" kind="subtitles" default="true">
<track src="sample_video-ch.vtt" default="false" srclang="ch" kind="subtitles">
<source src="myvideo.mp4" type="video/mp4">
</video>
<br/>
<button id="turnoff" >NO SUBTITLE</button>
<button id="english" >ENGLISH</button>
<button id="chinese" >CHINESE</button>