如何在临时断开/重新连接FMS后自动恢复播放Flash视频



我自定义构建的Flash视频播放器(AS3)中有代码,可以自动从与Flash媒体服务器的连接暂时丢失中恢复。代码基本上是这样工作的:

    NetConnection.Connect
  1. 。已关闭,尝试重新连接
  2. 重新连接成功后,调用ns.play()恢复视频流的播放

这工作。

但是由于上面的步骤2,我的时间线重置为零。根据Flash文档(http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetStream.html#time), Netstream的"时间"属性"被设置为0时,Netstream .play()被调用,reset设置为1或true。"

那个"time"属性也是只读的,所以我似乎没什么可做的。我不能确切地将它设置为像"lastPosition"这样的变量,而这正是我想做的。

我在play()调用中尝试了各种参数,试图防止零超出时间属性。像…

    ns.play(streamName, lastPosition, -1, 0);

最后一个参数设置"reset"为false。但这并没有帮助。"time"属性在调用play()时仍然归零。

所以即使我在100秒内开始播放文件,NetStream的"time"属性反映的是"0"。没有好。应该反映"100"

是否有另一个属性,我在这里错过了反映文件中的真实播放位置,或者我做了其他错误的东西?

我知道现在回答这个问题有点晚了,但我知道,可能是另一个需要答案的人。

你可以这样做:

ns.play(streamName, lastPosition);

或者在接收到NetStream.Play.Start事件后,您可以简单地执行:

ns.seek(lastPosition)

最新更新