具有随机速度的HTML5视频 - 自动刷新

时间:2014-07-24 14:06:35

标签: javascript html5-video

因此,我希望将视频作为循环播放,同时创建playbackRate的随机值,以便在另一个随机时间间隔内随机设置加速和缩小视频。

为此,我有这个:

window.onload = function ()
{
    var tempo = Math.floor(Math.random() * 3) + 0.5; // TIME TO SET VIDEO SPEED
    var tempo2 = Math.floor(Math.random() * 2000) + 1000; // TIME TO SET INTERVAL TIME


    setInterval(function ()
    {
     document.getElementById("my-video").playbackRate = tempo;
        console.log(tempo , tempo2);
    }, Math.floor(Math.random() * this.tempo2) + 600);
};

出于某种原因,视频会随机加速和缩小,正如我预期的那样,但我需要刷新页面来改变价值。

JSFIDDLE

由于

1 个答案:

答案 0 :(得分:1)

您需要更新tempo函数

中的setInterval变量
setInterval(function ()
{
   document.getElementById("my-video").playbackRate = tempo;
   tempo = Math.floor(Math.random() * 3) + 0.5;
   console.log(tempo , tempo2);
}, Math.floor(Math.random() * this.tempo2) + 600);

但我认为你想要的也是tempo2变量的更新,通过使用更新随机值的函数的setTimeout调用,使用tempo2作为新的超时。

 var update = function () {
    document.getElementById("my-video").playbackRate = tempo;
    //update random values
    tempo = Math.floor(Math.random() * 3) + 0.5;
    tempo2 = Math.floor(Math.random() * 2000) + 1000;
    console.log(tempo, tempo2);
    //recall the method with new tempo2 value
    setTimeout(update, tempo2);
 }

见:

JSFiddle