我正在尝试跟踪观看者观看某个视频的时长,我对React JS中某些媒体事件的处理方式感到有些困惑。
当视频被跳到视频的后半部分并停一会儿时,它会调用onPause
而不需要按暂停按钮吗?
此外,我对onTimeUpdate
的作用感到困惑。
答案 0 :(得分:0)
请在此处查看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 );