3

外部 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> 助けてください。

4

1 に答える 1

1

クロスオリジン アクセスの問題によってブロックされているようです。別のドメインから VTT ファイルにアクセスするには、次の 2 つの条件を満たす必要があります。

  1. VTT ファイルをホストするサイトに適切な CORS ヘッダーを追加します。このサイトにアクセスできない可能性がありますが、ありがたいことに、正しいヘッダーが既に使用されているようです: .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>

これがうまくいくことを願っています。

于 2016-08-23T17:45:38.177 に答える