因此,我希望将视频作为循环播放,同时创建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);
};
出于某种原因,视频会随机加速和缩小,正如我预期的那样,但我需要刷新页面来改变价值。
由于
答案 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);
}
见: