首页 > 解决方案 > 304 在 iOS Cordova 应用上播放 html5 视频时未修改

问题描述

我正在将外部(Vimeo).mp4 加载到 Ionic Framework 应用程序中的标准 HTML5 视频标签中,除了在 iOS 上工作正常:

Vimeo 的外部链接(例如https://player.vimeo.com/external/)转发到他们在此处https://gcs-vimeo.akamaized.net描述的地址。

在 iOS 上,初始加载是从Source: Disk Cache. 但是,当离开此页面,或停止并尝试重播视频时,它会返回Status: 304 Not Modified响应,因为它期望视频再次从缓存中加载,我期望。但是,在应用程序中,视频不是从缓存中加载的,我只是得到一个损坏的播放器(找不到源)。

视频标签如下所示:

<div class="player">
  <video class="player__video viewer toggle" #exerciseVideo [src]="exercise.video | vimeoVideoUrl | safe:'resourceUrl'" [poster]="exercise.images[0] | awsImageUrl:'medium' | safe:'resourceUrl'" controls playsinline loop tappable></video>
</div>

关于如何在第二次播放时(理想情况下)从缓存中加载它的任何帮助,或者如何每次强制执行新的网络请求将不胜感激。

标签: ioscordovaionic-frameworkvideo

解决方案


我已经尝试了一切,包括以下帖子:

iOS:收到“304 Not Modified”响应时 AVPlayerItem 中的错误

嵌入的 HTML 5 视频存储在缓存中,但在 iPad 2 上不显示

但是,我必须实施以使其在 iOS 上运行的绝对核选项是附加的?time-in-milliseconds

以以下代码为例:

const currentDate = new Date();
const currentTime = currentDate.getTime();
return `${environment.VIMEO_SRC}${videoInput.video}${environment.VIMEO_SPEC_TRAIL}?${currentTime}`;

欢迎任何其他反馈。


推荐阅读