Javascript 使用video.js,我试图使用变量,而不是文本,来提供视频源url和海报url(以及最终的subtitle(track)元素)

Javascript 使用video.js,我试图使用变量,而不是文本,来提供视频源url和海报url(以及最终的subtitle(track)元素),javascript,video.js,Javascript,Video.js,这是我正在使用的视频html的一部分 <video id="my-video" class="video-js" controls preload="none" width="640" height="264" poster="" data-setup="{}"> <source src="" type="video/mp4" /> ..它可以正常工作。它显示两条错误消息,第二条太快看不见,但第一条说“找不到支持格式和mime类型的视频”并不理想。然后,它加载并播放正

这是我正在使用的视频html的一部分

<video id="my-video" class="video-js" controls preload="none" width="640" height="264" poster=""  data-setup="{}"> <source src="" type="video/mp4" />
..它可以正常工作。它显示两条错误消息,第二条太快看不见,但第一条说“找不到支持格式和mime类型的视频”并不理想。然后,它加载并播放正确的视频

海报代码有效-它显示正确的海报,如下所示

var myPoster = window.localStorage.getItem("myPoster");
var myPlayer = videojs('my-video'); myPlayer.poster(myPoster);
但是,包含该片段会导致找不到视频


有没有人对此问题有更好的解决方案(最好也包括subtitle(
)元素)?

使用Video.js可以初始化播放器,然后使用其api设置源代码,而不是直接修改DOM元素

var myPlayer = videojs('my-video');
myPlayer.ready(function() {
  myPlayer.poster(myPoster);
  myPlayer.src({
    type: 'video/mp4',
    src: mySource
  });
  myPlayer.addRemoteTextTrack({
    src: myTrack,
    type: 'subtitles',
    language: 'en'
  });
});
var myPlayer = videojs('my-video');
myPlayer.ready(function() {
  myPlayer.poster(myPoster);
  myPlayer.src({
    type: 'video/mp4',
    src: mySource
  });
  myPlayer.addRemoteTextTrack({
    src: myTrack,
    type: 'subtitles',
    language: 'en'
  });
});