0

カメラから1秒ごとにキャプチャされた画像を「継続的に更新」するのに問題があります。現在、写真はカメラで撮影された最後の写真にのみ変更されます。これを機能させる方法はありますか????

    function reflashIPCam(){
        newImage = new Image();
        newImage.src = "image taken from the camera" + new Date().getTime();
        document.getElementById("IPCamIMG").src = newImage.src;
    }

    function playIPCamLoop(){
        for (var i=0;i<5;i++){
            delayFunction();
        }
    }

    function delayFunction(){
        setTimeout(reflashIPCam, 1000);
    }
4

2 に答える 2

1

タイミングを達成するために、繰り返す最も簡単な方法は setInterval を使用することだと思います

intervalRef = setInterval(reflashIPCam, 1000);

5秒後に停止したい場合:

setTimeout("clearInterval(intervalRef)", 5000);

カメラからデータを取得するには、ブラウザからカメラへのアクセスを参照してください。

于 2013-09-11T14:49:08.613 に答える
0

あなたが書くとき

delayFunction() {
     setTimeout(reflashIPCam, 1000);
}

reflashIPCamの実行時から 1000 ミリ秒の関数の呼び出しをプログラムしますdelayFunction

ループは瞬間的であるため、すべての呼び出しを同時にプログラムすることを意味します。もちろん、最後の実行しか見ることができません。

次のように修正できます。

function playIPCamLoop(){
    for (var i=0;i<5;i++){
        delayFunction(i+1);
    }
}

function delayFunction(i){
    setTimeout(reflashIPCam, i*1000);
}
于 2013-09-11T14:33:33.130 に答える