304 Не изменяется при воспроизведении видео html5 в приложении iOS Cordova - PullRequest
0 голосов
/ 12 июня 2018

Я загружаю внешний (Vimeo) .mp4 в стандартный тег HTML5 Video в приложении Ionic Framework, который работает нормально, за исключением 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>

Любойочень хотелось бы получить информацию о том, как загрузить его из кэша при втором воспроизведении (в идеале) или как каждый раз вызывать новый сетевой запрос.

1 Ответ

0 голосов
/ 19 июня 2018

Я попробовал все на этом, включая следующие посты:

iOS: ошибка в AVPlayerItem при получении ответа "304 Not Modified"

EmbeddedВидео 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}`;

Приветствую любые другие отзывы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...