Как исправить ошибку 412 (ошибка предварительного условия) HTML5 Video Tag
Я использую видео тег HTML5 внутри FlexSlider. Иногда видео перестает работать. После долгих поисков я получил эту ошибку.
GET http://studiobooth.local/app/videos/0062mParticle12151601.mp4 412 (Precondition Failed)
Вот мой код тега HTML5 Video:
<video preload="none" src="http://studiobooth.local/app/videos/2.mp4" poster="http://studiobooth.local/app/videos/thumbs/2.jpg" controls="" loop="" style="max-width:100%;height:100%;"><source src="http://studiobooth.local/app/videos/2.mp4" type="video/mp4">Your browser does not support the video tag.</video>
Пожалуйста, помогите мне исправить это.
Спасибо
1 ответ
Решение
Я получил временное решение, которое помогло мне заставить его работать. Вот мой код, в котором я добавляю миллисекунды к URL-адресу исходного файла и перезагружаю тот же видеофайл в случае возникновения ошибки.
media.addEventListener('error', function (e) {
var date = new Date();
var milliSecs = date.getMilliseconds();
var curr_src = $(media[0]).attr('src');
var curr_src_arr = curr_src.split("?");
var new_src = curr_src_arr[0]+"?t="+milliSecs;
$(media[0]).attr('src',new_src);
$(media[0]).find('source').attr('src',new_src);
media[0].load();
//media[0].play(); /* Here we can not trigger play video/audio without user interaction. */
}, false);