gpt4 book ai didi

video - Flowplayer 视频进度跟踪?

转载 作者:行者123 更新时间:2023-11-28 21:38:55 24 4
gpt4 key购买 nike

使用 FlowPlayer API,有没有办法捕获视频进度?我希望捕捉视频的进度,以便我可以在视频中的某些点将事件触发到页面。在 Flash 中,有一个每帧都会触发的 Progress Event,我希望由于 FlowPlayer 是 Fl​​ash,Progress Event 也会被公开。我似乎无法在 FlowPlayer 文档中找到任何直接的内容。

如果进度事件不存在。关于如何使用 JS setInterval 和现有的 FlowPlayer API 方法构建这样的东西有什么建议吗?

最佳答案

我破解了一段 Javascript 的快速片段,它与 Flowplayer PlayerClip 对象交互以确定视频进度。

var videoProgressInterval;

flowplayer("player", "http://releases.flowplayer.org/swf/flowplayer-3.2.15.swf");
flowplayer("player").onStart(startVideoProgressChecking);
flowplayer("player").onResume(startVideoProgressChecking);
flowplayer("player").onStop(stopVideoProgressChecking);
flowplayer("player").onPause(stopVideoProgressChecking);
flowplayer("player").onFinish(stopVideoProgressChecking);

function startVideoProgressChecking() {
videoProgressInterval = setInterval(checkVideoProgress, 1000);
videoProgressInterval();
}

function stopVideoProgressChecking() {
clearInterval(videoProgressInterval);
}

function checkVideoProgress() {
var time_completed = flowplayer("player").getTime();
var total_time = flowplayer("player").getClip().fullDuration;
var percent_done = Math.floor((time_completed / total_time) * 100);

console.log(percent_done + "% of video done");
}

您可以在 JSFiddle 上看到演示.

它为播放器的 startresume 事件注册事件句柄。视频播放开始后,它会记录一个每秒运行的间隔(随意修改它以更频繁地运行)。间隔每次执行时都会调用 checkVideoProgress(),然后从 Clip 对象中获取当前播放时间和总时长来计算进度。

此外,还为 stoppausefinish 事件注册了一个事件处理程序,以便在视频暂停后清除间隔/停止了。

关于video - Flowplayer 视频进度跟踪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7098354/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com