ループしたときに切れ目が表示されないようにアニメーションをカットした mp4 ビデオがあります。Chrome で jPlayer にこれを行うように依頼すると、問題なく動作しますが、FireFox では、ループを再生する前に約 1/3 秒間一時停止します。
そこで、最後の 1/2 秒になったら、ビデオをもう一度再生するようにしました。最初の 1/2 秒に一致する 1/2 秒をビデオの最後に追加し、jPlayer の timeUpdate イベントが最後の 1/2 秒のどこで再生を呼び出し、一致する開始時間であるかを判断したとき(0 + (0.5 - timeLeft)) だった位置にアップします。繰り返しになりますが、Chrome はこれをうまく行い、Firefox は完全なループをレンダリングできませんでした。
これは Web ブラウザーの現在の状態に基づく神話的なものですか、それとも何か不足していますか?
function buildJPlayerMotions(video_name) {
return function readyVideo() {
$(this).jPlayer("setMedia", {
m4v: "/assets/videos/" + video_name +".mp4",
});
};
}
function loadMotionsJplayer(id) {
$('#' + id).jPlayer({
ready: buildJPlayerMotions(id),
swfPath: "/assets",
supplied: "m4v",
backgroundColor: "#FFFFFF",
size: { width: '728px',
height: '402px'},
timeupdate: function(){
var currTime = $('#' + id).data().jPlayer.status.currentTime;
var movieLength = $('#' + id).data().jPlayer.status.duration;
var timeRemaining = movieLength - currTime;
if (timeRemaining < 0.5) {
$('#' + id).jPlayer("pause");
$('#' + id).jPlayer("play", 0 + (0.5 - timeRemaining));
}
}
});
}