javascript - VTT(字幕)不适用于外部网址

标签 javascript html5-video webvtt

我正在尝试从外部 url 播放电影的字幕,但它不起作用,当我尝试添加本地存储的 vtt 文件时,它就起作用了。下面是代码 <video id="video" controls preload="metadata"> <source src="video/sintel-short.mp4" type="video/mp4"> <track label="English" kind="subtitles" srclang="en" src="http://devcache.filmflexmovies.com/Test/Movies/2016/6/28/SDFEATUREMOVIE/Creed ENG.VTT" default> </video> 上面的代码不起作用。但是当我复制 vtt 的内容时它起作用了。 <video id="video" controls preload="metadata"> <source src="video/sintel-short.mp4" type="video/mp4"> <track label="English" kind="subtitles" srclang="en" src="abc.VTT" default> </video> 请帮忙。

最佳答案

听起来您被跨源访问问题阻止了。要从不同的域访问 VTT 文件,您必须满足两个条件:

  1. 将正确的 CORS header 添加到网站托管 VTT file .您可能无法访问该站点,但幸运的是,它看起来像正确的 header 已被使用:Access-Control-Allow-Origin: *
  2. 将 crossorigin="anonymous"属性添加到您网页的音频/视频元素。像这样:

<video id="video" crossorigin="anonymous" autoplay controls preload="metadata">
  <source src="video/sintel-short.mp4" type="video/mp4" />
  <track label="English" kind="subtitles" srclang="en" src="http://devcache.filmflexmovies.com/Test/Movies/2016/6/28/SDFEATUREMOVIE/Creed ENG.VTT" default/>
</video>

我希望这对你有用。

关于javascript - VTT(字幕)不适用于外部网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39077199/

相关文章:

javascript - 检查值是否在某个数字的范围内

javascript - 视频已暂停但声音仍然拖尾

javascript - 如何在 html5 native 视频播放器中添加延迟或偏移以同步 webvtt 字幕?

HTML5本地播放带字幕的MP4视频

android - WebVtt 字幕不显示(不工作)

javascript - 如何将层次结构数据数组转换为 D3-Tree-Region 的正确 JSON 格式

javascript - Bootstrap 4 切换按钮

javascript - 世博地点权限立即被拒绝 iOS 模拟器

html - 使用 HTML5 视频跟踪 move/调整大小事件?

javascript - 让本地 HTML5 视频在 Meteor 生成的 iOS 应用程序中工作