0

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

现在我有两个问题

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

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

4

1 回答 1

0

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

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

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

var startTime:int;

function resetTimer():void {
    startTime = getTimer();
}

function getTime():int {
    return getTimer() - startTime;
}

在上面的例子中,你总是从而getTime不是访问当前时间getTimer,除此之外一切都是一样的。只要确保你resetTimer在需要时打电话。

我希望这会有所帮助!

于 2010-09-08T05:25:32.593 回答