Я написал сценарий jquery для воспроизведения коротких видеороликов со случайными звуковыми фрагментами + субтитрами. Увидеть Вот для «рабочего» примера. Большая часть кода запускается, когда видео заканчивается, и эта часть работает хорошо. Однако у меня иногда возникают проблемы с функцией on document.ready. Он работает примерно 7 из 8 раз, но иногда для файла субтитров .vtt дается 404, и первое видео воспроизводится без субтитров (я проверил ссылку, и файл .vtt фактически создан). (вы можете воссоздать ошибку, обновив страницу несколько раз) Мне было интересно, есть ли у кого-нибудь предложения о том, как это исправить или отладить … Спасибо!
$(document).ready(function() {
createsubtitle(); //creates random subtitle string
timestamp0 = $.now();// two timestamps to make unique files (to be deleted afterwards)
timestamp1 = $.now();
window.timestamp0 = timestamp0
window.timestamp1 = timestamp1
$.ajax({type: "POST",url:"save1.php",data: {text:subtitle, time:timestamp1},success: function() {console.log("message sent!")}}); // first .vtt file is made using php (see code below)
createsubtitle(); // new random subtitle
$.ajax({type: "POST",url:"save0.php",data: {text:subtitle, time:timestamp0},success: function() {console.log("message sent!")}}); // second php (the script alternates between two .vtt files)
$("#subtitles").attr("src", "subtitle/sub1" + timestamp1 + ".vtt"); // one .vtt file is added as src to track element #subtitles
$('#rearrangements').get(0).play(); // video is played
});
PHP-код:
#!/usr/bin/php
<?php
$subtitle = $_POST['text'];
$timestamp = $_POST['time'];
$filename = 'subtitle/sub1'.$timestamp.'.vtt';
$myfile = fopen($filename, "w") or die("Unable to open file!");
$txt = $subtitle;
fwrite($myfile, $txt);
fclose($myfile);
?>
Задача ещё не решена.
Других решений пока нет …