JWPlayer如何从Javascript更改Captions Track?

时间:2014-03-06 09:24:31

标签: javascript api jwplayer caption

在JWPlayer中,如何根据需要更改(或设置)Caption Tracks ..让我们说点击外部HTML按钮。

让我们说:

  • 如果我点击html [ Button 1],视频的标题将为“eng.srt”。
  • 如果我点击html [ Button 2],视频的标题将为“esp.srt”。

可能从一开始就没有Captions Tracks。各个标题曲目将在html按钮点击时设置(即使在播放时?)

1 个答案:

答案 0 :(得分:4)

您可以使用此javascript-api-reference

更改字幕
  

字幕

     

这些API调用用于侦听或更新活动标题   跟踪是否为视频提供了一个或多个隐藏字幕轨道。   此API可用于记录字幕使用情况或构建您自己的CC菜单   在JW Player之外。

<强> setCurrentCaptions(指数) 将可见字幕轨道更改为提供的索引。索引必须在getCaptionsList提供的列表中。请注意,索引0始终将标题关闭。

<强> onCaptionsList(回调) 更新可用字幕轨道列表时触发。播放列表项目开始播放后不久就会发生。事件属性: tracks(Array):带有新标题轨道的完整数组。

onCaptionsChange(回调) 更改活动字幕轨道时触发。发生在例如用户单击控制栏CC菜单或调用setCurrentCaptions的脚本。事件属性: track(Number):getCaptionsList()数组中新的活动字幕轨道的索引。请注意,如果曲目为0,则标题为“关闭”。

  

示例设置

<div id="myElement"></div>
<div id="Off_sub">OFF</div>
<div id="Eng_sub">ENG</div>
<div id="Farsi_sub">FARSI</div>
<div id="Jap_sub">JAPANESE</div>
<div id="Russ_sub">RUSSIAN</div>

<script>
    jwplayer("myElement").setup({
      playlist: [{
        image: "/uploads/myPoster.jpg",
        file: "/uploads/myVideo.mp4",
        tracks: [
          { file: "/uploads/myCaptionsEn.vtt", label: "English", kind: "subtitles" },
          { file: "/uploads/myCaptionsFa.vtt", label: "Farsi", kind: "subtitles" },
          { file: "/uploads/myCaptionsJa.vtt", label: "Japanese", kind: "subtitles" },
          { file: "/uploads/myCaptionsRu.vtt", label: "Russian", kind: "subtitles" }
        ]
      }]
    });
</script>

YOUR REQUIREMENT

<script>

$("#Off_sub").click(function(){
  jwplayer("myElement").setCurrentCaptions(0);//off the caption
});
$("#Eng_sub").click(function(){
  jwplayer("myElement").setCurrentCaptions(1);//Eng caption
});
$("#Farsi_sub").click(function(){
  jwplayer("myElement").setCurrentCaptions(2);//Farsi caption
});
$("#Jap_sub").click(function(){
  jwplayer("myElement").setCurrentCaptions(3);//Japanese caption
});
$("#Russ_sub").click(function(){
  jwplayer("myElement").setCurrentCaptions(4);//Russian caption
});
</script>

请参阅以下API列表以便更好地理解:

Javascript API Reference

Multiple Subtitle Tracks

Adding Video Captions

希望有所帮助:)