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

时间:2014-07-24 18:48:34

标签: flash video time playback netstream

我的自定义内置Flash视频播放器(AS3)中包含代码,可以自动恢复与流媒体视频的Flash Media Server的临时连接丢失。代码基本上是这样的:

  1. 在NetConnection.Connect.Closed上,尝试重新连接
  2. 成功重新连接后,请调用ns.play()以恢复视频流的播放
  3. 这很有效。

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

    那个“时间”属性也是只读的,所以我似乎没有太多关于它的事情。我无法将其完全设置为“lastPosition”变量,这是我想做的事情。

    我在play()调用中尝试了各种参数,试图阻止时间属性的零。像...

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

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

    因此,即使我开始播放100秒的文件,NetStream“time”属性也会反映为“0”。不好。应该反映“100”。

    我在这里缺少的另一个属性反映了文件中的真实播放位置,还是我做错了什么?

1 个答案:

答案 0 :(得分:0)

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

你可以这样做:

ns.play(streamName, lastPosition);

或者在收到NetStream.Play.Start事件后,您只需执行以下操作:

ns.seek(lastPosition)