video.js默认情况下如何使字幕可见?

时间:2013-06-22 06:20:09

标签: video.js

我在示例演示页面上使用了相同的标记,但默认参数并不真正起作用。我没有看到任何字幕自动播放。我必须手动进行字幕选择并选择曲目。

    

    <track kind="subtitles" src="" srclang="en" label="English"  />
    <track kind="subtitles" src="" srclang="it" label="Italian" default />

我做错了什么?或者这是一个错误?

6 个答案:

答案 0 :(得分:3)

当播放器准备就绪时,您可以使用javascript(jQuery)自动触发字幕菜单的点击事件。这将显示标题而无需手动点击。

videojs("vdoPlayer", {}, function(){
  // Player (this) is initialized and ready.
  $("li.vjs-menu-item").eq(2).trigger('click');
});

您可能需要更改eq()值,具体取决于您单击的菜单项。使用console.log($(“li.vjs-menu-item”)。eq(2).text());确定哪个菜单是哪个。

答案 1 :(得分:1)

这适用于iPad(Chrome,Safari)和Windows 7 PC(FF,Chrome):

<track kind="captions" src="demo.captions.vtt" srclang="en" label="English" default></track>

我使用的是videojs 4.6.2,也许是因为这个问题被解决了。

答案 2 :(得分:0)

我遇到了与最新video.js版本4.1相同的行为。

版本3.x中显示默认字幕 - 它们不再是4.x版本了!用户必须手动点击字幕图标并选择字幕语言才能使字幕显示可见! 默认参数的设置方式与3.x版本完全相同,后者在没有用户手动干预的情况下正确显示字幕。

答案 3 :(得分:0)

现在,4.1.0中的默认参数似乎没有做任何事情。提交了一个问题here

此外 - 根据我对API的理解,没有一种很好的方法(没有编译自己的播放器,通过exports.js公开更多的轨道功能)以编程方式选择你想要的“安全”方式的默认音轨。

我的建议是取消评论错误中引用的行,进行一些测试,并(假设一切正常)向videojs repo提交拉取请求,启用默认曲目选择。

答案 4 :(得分:0)

尝试从英文字幕中删除srclang="en"。虽然这是一个错误,但删除它似乎已经修复了此issue page上的评论者'Crixo'的问题。

答案 5 :(得分:0)

现在你可以像这样默认开启它:

const videoJsOptions: VideoJsPlayerOptions = {
    ...
    tracks: [
      {
        src: `/films/${props.film.id}/subtitles.vtt`,
        kind: "captions",
        srclang: "en",
        label: "English",
        default: true,
      },
    ],
  };