ここで新しく、HTML5ビデオやVideoJSプレーヤーの経験がある人に質問があります(必要に応じて別のプレーヤーを使用することもできます)。
イントロ部分とループしたい部分を含む単一のビデオがあります。これは、2番目の部分をロードするときに「黒いブリップ」が発生しないようにするために行いました。
だから私の質問はこれです、私はこの2番目の部分をシームレスにループさせたいのですが、それを完全にうまくやってのけることができないようです。再び再生を開始するまでに1秒ほどの遅延があるようです。ビデオエディタにループポイントを正確に36秒に設定してもらい、次のコードを使用して36秒をシークし、最後に到達してから再生します。
myPlayer.addEvent("ended", function () {
myPlayer.currentTime(36);
myPlayer.play();
});
これにより、ビデオが最初のフレームに戻り、36秒にスキップして、再生されます。ビデオの最後の1秒間にリスナーを設定してシークを実行しようとしていますが、シーク後の瞬間的な遅延が心配です。
どんな助けでも大歓迎です!
アレックス
更新:video.jsのソースを編集して、「終了」イベントがトリガーされたときに実行されるデフォルトの関数を削除することで、最初のフレームに戻るビットを排除することができました(基本的には次のようになりました: "pause() ; currentTime(0); pause(); ")
これで、ビデオは必要な36秒のマークに直接移動しますが、問題は、ビデオが終了として登録され、36秒のマークで再度再生する前に停止し、ループにわずかな遅延が生じることです。「終了した」イベントリスナーではなく、ビデオが終了し、シーク(currentTime)関数をトリガーする秒をリッスンする方法を見つけようとしています。