304 在 iOS Cordova 应用上播放 html5 视频时未修改

Posted

技术标签:

【中文标题】304 在 iOS Cordova 应用上播放 html5 视频时未修改【英文标题】:304 Not modified when playing html5 video on iOS Cordova app 【发布时间】:2018-06-12 09:21:43 【问题描述】:

我正在将外部 (Vimeo) .mp4 加载到 Ionic Framework 应用程序中的标准 html5 视频标签中,除了在 ios 上运行良好:

Vimeo 的外部链接(例如https://player.vimeo.com/external/)转发到https://gcs-vimeo.akamaized.net 地址,因为它们描述了here。

在 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>

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

【问题讨论】:

【参考方案1】:

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

iOS: bug in AVPlayerItem when receiving `304 Not Modified` response

Embedded HTML 5 video is stored in the cache but is not displayed on 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`;

欢迎任何其他反馈。

【讨论】:

以上是关于304 在 iOS Cordova 应用上播放 html5 视频时未修改的主要内容,如果未能解决你的问题,请参考以下文章

PhoneGap/Cordova iOS 播放声音禁用麦克风

无法在 iOS 上加载播放视频

Cordova Local Notification 为 iOS 和 Android 播放本地声音

Phonegap NativeAudio 无法在 iOS 上播放

ios上cordova应用程序中的视频没有声音

iOS 10 上的 Cordova 媒体插件是不是仍可使用后台播放?