0

だから私はインタラクティブなHTML5ビデオプレーヤーに取り組んでおり、現在popcorn.jsを使用している間はすべてが機能していますが、popcorn.jsに依存せずに戻ってプレーヤーを機能させようとしています。

popcorn.jsを使用する場合、次のようなコードを使用できます。

popcorn.code((
    start: 0,
    end: 5,
    onStart: function( options ) {
        //put code here
    }
}}

ビデオの時間が0から5の範囲でコードが実行されます。現在、ビデオの特定の時間枠内に特定のコードブロックを実行しようとしていますが、正しく機能していないようです。誰かが私がこれについて間違っているところを見ることができるかどうか疑問に思っていました。

while (myVideo.currentTime >= 0 && myVideo.currentTime <= 5)
{
    console.log(myVideo.currentTime);
}

このwhileループも非常に高速に実行されているため、ブラウザの速度が低下してフリーズします。ただし、whileループの代わりにifループを使用しようとすると、(明らかに)1回だけチェックされます。

4

2 に答える 2

1

whileループよりも少ないチェックが可能です。

var check = setInterval(function() {
    if (myVideo.currentTime >= 5) {
        clearInterval(check);
        console.log("5 seconds reached");
    }
}, 500);

ユーザーが一時停止して最初からやり直すか、タイムライン内の別の時間にジャンプした場合に、これを再開できます。

于 2013-02-01T17:03:25.790 に答える
1

以下を使用して、関数が毎秒 1 回だけ実行されるようにしてください。

setInterval(function(){
if(myVideo.currentTime >= 0 && myVideo.currentTime <= 5){
console.log(myVideo.currentTime);
}
},1000);

幸運を!

于 2013-02-01T17:09:21.347 に答える