我正在尝试跟踪观众观看某个视频的时间,我对React JS中的某些媒体事件的作用有点困惑。
-
当视频跳到视频的后面部分并停止一段时间时,它是否会调用
onPause
而无需实际按下暂停按钮? -
我也对
onTimeUpdate
做什么感到困惑。
请在此处查看 HTML 音频/视频事件侦听器参考: https://www.w3schools.com/tags/ref_av_dom.asp
您可能需要">readystate"属性:
表示音频/视频元素的就绪状态:
0 = HAVE_NOTHING - 没有信息,无论音频/视频是否 准备
1 = HAVE_METADATA - 音频/视频的元数据已准备就绪
2 = HAVE_CURRENT_DATA - 当前播放位置的数据为 可用,但没有足够的数据来播放下一帧/毫秒
3 = HAVE_FUTURE_DATA - 当前和至少下一个的数据 框架可用
4 = HAVE_ENOUGH_DATA - 有足够的数据可用开始播放
所以,我会想象你在 setTimeout 上使用一个计数器来计算视频播放了多长时间:
var counter = 0;
var timer = setTimeout(function() {
var vid = document.getElementById("myVideo");
var state = vid.readystate;
if( state != 0 ) counter++;
console.log( counter + " seconds its been played" );
} , 1000 );