我有自定义的flv播放器,它读取XmL并在Flv视频上绘制圆圈。位置和时间在XML中指定。我用as3 getTimer()函数进行了计算。它工作正常,无论你多久暂停然后再玩。圈子在正确的时间显示。
现在我有两个问题
1-如何重置getTimer?当用户被允许玩另一个swf时需要它.. 2-除了getTimer计算之外还有其他方法吗?我没有使用Timer Class,因为它依赖于帧脚本执行时间并且可能产生错误的结果,因此这不如getTimer()函数那么准确。 3-因为我正在使用自定义滑块,所以每当用户点击或拖动滑块w.r.t getTimer()函数然后减去秒和所有这些时,我就必须进行计算。但是当用户播放另一个swf时,它会变得非常困难,因为我的计算基于getTimer()函数。
如果有任何开源项目可用,请转发我链接,但我希望它也可以在Flash Player和播放器上运行吗?
答案 0 :(得分:0)
我会尽力指出正确的方向,但首先回答你的问题:
要扩展数字3,因为这是你的解决方案的所在,它真的不应该再困难了。您需要跟踪当前FLV开始的时间。只要你有数学真的没有什么不同。最简单的方法是引入自己的reset
函数,并在自定义函数中包装getTimer
以添加所需的其余功能。像这样:
var startTime:int;
function resetTimer():void {
startTime = getTimer();
}
function getTime():int {
return getTimer() - startTime;
}
在上面的示例中,您始终可以从getTime
而不是getTimer
访问当前时间,除此之外,所有内容都相同。只需确保在需要时致电resetTimer
。
我希望有所帮助!