【问题标题】:Draw circle on Custom Flv player在自定义 Flv 播放器上画圆圈
【发布时间】:2010-09-08 04:45:14
【问题描述】:

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

现在我有两个问题

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

如果有任何可用的开源项目,请将链接转发给我,但我希望它也可以在 Flash Player 和 air player 上运行?

【问题讨论】:

    标签: flash actionscript-3 flv netstream


    【解决方案1】:

    我会尝试为您指明正确的方向,但首先回答您的问题:

    1. 没有
    2. 否(除了使用定时器)
    3. 应该不会再难了

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

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

    在上面的例子中,你总是从getTime而不是getTimer访问当前时间,除此之外一切都是一样的。请务必在需要时致电 resetTimer

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-23
      • 1970-01-01
      • 1970-01-01
      • 2017-11-15
      相关资源
      最近更新 更多