Javascript函数在视频时间更新时未触发
Javascript function not fired on video timeupdate
目前正在处理包含视频的页面,该视频必须在某些点(如章节)暂停。所以我做了一个函数,当视频到达下一个"时间标记"时,它会停止它,看起来像这样:
function vidPause(nextMarker){
var timeMarker = nextMarker;
if(videoPlayer.currentTime >= timeMarker) {
videoPlayer.pause();
videoPlayer.removeEventListener('timeupdate', vidPause());
}
};
我试图以这种方式发射它:
videoPlayer.addEventListener('timeupdate', vidPause(nextMarker));
但它似乎仅在加载视频时触发。播放视频时没有任何反应(通过使用 vidPause 函数中的console.log(videoPlayer.currentTime);
进行测试)。
注意:我需要以这种方式调用函数,以便我可以在事件侦听器点击时间标记时将其删除,这样当用户想要从该点开始播放视频时,它就不会停止。
提前感谢您的任何建议!
该函数在 addEventListener 行中被调用一次,但这实际上并没有将其作为回调传递。
试试这个:
function videoUpdate(e) {
vidPause(nextMarker, videoPlayer.currentTime;); // Now call your function
}
function vidPause(nextMarker, timeStamp){
var timeMarker = nextMarker;
if (timeStamp >= timeMarker) {
videoPlayer.pause();
videoPlayer.removeEventListener('timeupdate', videoUpdate);
}
};
videoPlayer.addEventListener('timeupdate', videoUpdate); // Note no brackets, as it's passing a ref to the function rather than calling it
我不知道nextMarker
的范围是什么,但您应该能够启动控制台日志记录并找出答案。
相关文章:
- Html5音频时间更新精度
- 使用引导时间选取器时,没有更新数据ng模型值
- 更新 FLOT 时间序列图
- 如果在线检查期间发生电源故障,我们如何更新用户再次登录门户时的剩余时间
- JQuery:更新表内容花费的时间太长
- 如何制作倒计时计时器并在时间到时更新MySQL记录
- 如何在页面上显示时间、日期IP和URL?更新日期:2015年2月25日
- 如何在一个时间间隔后追加新的更新
- 在 PHP / Javascript 中实时更新时间
- Javascript/jQuery自动设置和更新时间
- Moment.js以秒为单位动态更新时间
- 我想用Meteor.setInterval()来更新时间模板,它不起作用
- jquery flot图表不会动态更新时间序列的X轴值
- angularjs应用程序中的更新时间
- 在日期时间字段中设置更新时间部分,但不更新日期部分
- 用Javascript更新时间元素
- 如何使Meteor响应式更新“时间since”;字符串
- 如何根据数组数量的增加来更新时间间隔的时间
- Javascript更新时间函数导致高CPU
- 在Mustache模板中使用setInterval更新时间