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 播放声音禁用麦克风
Cordova Local Notification 为 iOS 和 Android 播放本地声音