Мне нужно запустить бизнес-логику вместе с рендерингом видео. Логика сопоставлена с кадрами видео. Поэтому для воспроизведения видео с фактической частотой кадров я использую свою собственную логику следующим образом:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<video id="frame_img" class="frame_img" src="https://www.w3schools.com/html/mov_bbb.mp4"></video>
<button id='play' class='play' title='play' accesskey="P">Play</button>
<button id='pause' class='pause' title='pause' accesskey="P">Pause</button>
<script src="https://code.jquery.com/jquery-2.2.0.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var play_handle;
function playVideo()
{
play_handle = setInterval(function(){
$(".frame_img")[0].currentTime = $(".frame_img")[0].currentTime + 0.040;
console.log($(".frame_img")[0].currentTime);
},40);
}
function pauseVideo()
{
clearInterval(play_handle);
}
jQuery(document).ready(function($) {
$("#play").on('click',function(){
// alert("I will Play the video");
playVideo();
});
$("#pause").on('click',function(){
// alert("I will Pause the video");
pauseVideo();
});
});
});
</script>
</body>
</html>
То, что здесь происходит, - при нажатии на кнопку «Воспроизведение» начинается воспроизведение видео, но оно останавливается на некоторое время и снова начинается воспроизведение. Для моего длинного видео это останавливается несколько раз в промежутке. Я не понимаю причину остановки в рендеринге видео. Пожалуйста, помогите мне определить мою ошибку в бизнес-логике.