【问题标题】:Display video subtitles in Video.JS using Vue.JS使用 Vue.JS 在 Video.JS 中显示视频字幕
【发布时间】:2021-03-13 15:25:51
【问题描述】:

我想在 vue.js 中使用 video.js 为视频添加字幕。文本轨道的 HTML 符号如下所示:

<video>
  <source src="myVideo.webm" type="video/webm">
  <track kind="captions" src="myCaptions.vtt" srclang="en" label="English" default>
</video>

现在,对于 Vue 实现,我遵循了 VideoJS 文档 (https://docs.videojs.com/tutorial-vue.html)。有一个组件 VideoJS,它从其父级接收选项。

父组件

<template>
  <div>
    <video-player :options="videoOptions"/>
  </div>
</template>

[...]

      videoOptions: {
        autoplay: false,
        controls: true,
        sources: [
          {
            src: require("myVideo.mp4"),
            type: "video/mp4",
          },
        ],
      },

现在,如何添加曲目信息?我尝试了一个额外的“tracks”数组,不幸的是没有成功:

      videoOptions: {
        sources: [... same as above ...],
        tracks: [
          {
            kind: "captions",
            src: require("myCaptions.vtt"),
            srclang: "de",
            label: "german",
          },
        ],
      },

在 videoJS 组件中,我尝试检查是否收到了曲目。我可以在 Options-Object 中看到它,但仍然没有显示标题。

  mounted() {
    this.player = videojs(
      this.$refs.videoPlayer,
      this.options,
      function onPlayerReady() {
        console.log("onPlayerReady", this);
      },
    );
    var tracks = this.player.textTracks();
    console.log(tracks); // returns "[object Object]"

    for (var i = 0; i < tracks.length; i++) {
      var track = tracks[i];
      if (track.kind === "captions") {
        console.log(track.src); // Never called
        track.mode = "showing";
      }
    }
 }

我做错了什么?

【问题讨论】:

  • 尝试删除“require()”的两种用法。 Require 用于引用 javascript 代码,而不是引用客户端数据文件。 [stackoverflow.com/questions/9901082/…]
  • 嗨,戴夫,感谢您的帮助!我试图通过 src 直接给出路径:“.../data/myCaption.vtt”,但随后出现“文本轨道解析错误”。尽管如此,我还是从一个全新的存储库开始解决了这个问题……不知道为什么……

标签: vue.js video.js videojs-transcript


【解决方案1】:

我不知道为什么,但是当我启动一个全新的存储库时它起作用了。上面的语法现在运行良好。

【讨论】:

    猜你喜欢
    • 2014-04-16
    • 1970-01-01
    • 1970-01-01
    • 2018-01-05
    • 1970-01-01
    • 2015-01-17
    • 2016-07-25
    • 2023-01-31
    • 1970-01-01
    相关资源
    最近更新 更多