在自定义Flv播放器上绘制圆圈

时间:2010-09-08 04:45:14

标签: flash actionscript-3 flv netstream

我有自定义的flv播放器,它读取XmL并在Flv视频上绘制圆圈。位置和时间在XML中指定。我用as3 getTimer()函数进行了计算。它工作正常,无论你多久暂停然后再玩。圈子在正确的时间显示。

现在我有两个问题

1-如何重置getTimer?当用户被允许玩另一个swf时需要它.. 2-除了getTimer计算之外还有其他方法吗?我没有使用Timer Class,因为它依赖于帧脚本执行时间并且可能产生错误的结果,因此这不如getTimer()函数那么准确。 3-因为我正在使用自定义滑块,所以每当用户点击或拖动滑块w.r.t getTimer()函数然后减去秒和所有这些时,我就必须进行计算。但是当用户播放另一个swf时,它会变得非常困难,因为我的计算基于getTimer()函数。

如果有任何开源项目可用,请转发我链接,但我希望它也可以在Flash Player和播放器上运行吗?

1 个答案:

答案 0 :(得分:0)

我会尽力指出正确的方向,但首先回答你的问题:

  1. 没有
  2. 否(除了使用计时器)
  3. 它应该不再困难
  4. 要扩展数字3,因为这是你的解决方案的所在,它真的不应该再困难了。您需要跟踪当前FLV开始的时间。只要你有数学真的没有什么不同。最简单的方法是引入自己的reset函数,并在自定义函数中包装getTimer以添加所需的其余功能。像这样:

    var startTime:int;
    
    function resetTimer():void {
        startTime = getTimer();
    }
    
    function getTime():int {
        return getTimer() - startTime;
    }
    

    在上面的示例中,您始终可以从getTime而不是getTimer访问当前时间,除此之外,所有内容都相同。只需确保在需要时致电resetTimer

    我希望有所帮助!