Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 每隔30秒存储用户视频进度Plyr.js_Javascript_Plyr - Fatal编程技术网

Javascript 每隔30秒存储用户视频进度Plyr.js

Javascript 每隔30秒存储用户视频进度Plyr.js,javascript,plyr,Javascript,Plyr,我正在尝试每5秒获取一个当前视频进度值,这样我就可以在DB上发布一个帖子,使用JS和Plyr.JS API将其存储到用户视频进度表中,但显然是做错了什么。我的代码: player.on('timeupdate', () => { const currentTime = document.getElementById('current-time'); currentTime.innerText = player.currentTime; let

我正在尝试每5秒获取一个当前视频进度值,这样我就可以在DB上发布一个帖子,使用JS和Plyr.JS API将其存储到用户视频进度表中,但显然是做错了什么。我的代码:

player.on('timeupdate', () => {
        const currentTime = document.getElementById('current-time');
        currentTime.innerText = player.currentTime;
        let intervalId = setInterval( () => {
          console.log(`Submitted timestamp to DB every 5 sec`)
        }, 5000);
        if (intervalId) {
          clearInterval(intervalId);
        }
        //console.log(player.currentTime);
      });

上面的代码根本没有fire console.log。如果我删除clearInterval(),console.log会在5秒后被触发,但每隔一秒左右就会重复一次,而不是在5秒后。

在浏览Plyr文档后找到解决方案,收听播放是一种选择:

player.on('play', () => {
        setInterval( function() {
          // POST current time and state to the server
          console.log(player.currentTime);
          const currentTime = document.getElementById('current-time');
          currentTime.innerText = player.currentTime;
        }, 3000);
        //console.log(player.currentTime);
      });