HTML5视频并不总是加载视频

时间:2018-05-28 12:11:03

标签: angular html5 typescript html5-video

我有一个包含两个视频播放器的页面,

<div class="row">
    <div class="col-sm-6">

      <video width="520" height="440" #mainV  controls [src]="CameraDataUrl">
    <canvas #captureCanvas ></canvas>
  </video>

    </div>

    <div class="col-sm-6">

      <video width="320" height="240" #subV  controls [src]="DashDataUrl"></video>

    </div>

  </div>

源代码来自TypeScript类:

this.GetCameraInterval = setInterval(() => {
      if (this.camera != null) {
        this.CameraDataUrl = "data:video/mp4;base64," + this.camera;
        clearInterval(this.GetCameraInterval);    
      }
    }, 100);

    this.GetDashInterval = setInterval(() => {
      if (this.dash != null) {
        this.DashDataUrl = "data:video/mp4;base64," + this.dash;
        clearInterval(this.GetDashInterval);
      }
    }, 100);

我在显示页面之前设置了超时2.5秒,以确保每个视频的网址都是从Redux获取地址(并将它们打印到控制台,所以我看到它们不是空的), 但视频并不总是加载(有时它们都没有加载,有时一个,有时它们都没问题。但它们总是得到视频的地址)。 example

可能导致什么,我该如何解决? 感谢

1 个答案:

答案 0 :(得分:1)

我尝试运行您的代码,进行更改并且运行正常 - 请考虑使用source元素:

<video controls>
     <source src="https://video.com/video.mp4" type="video/mp4">
</video>