Actionscript 3 NetStream.seek错误查找视频

Actionscript 3 NetStream.seek错误查找视频,actionscript-3,flex4,flash-builder,netstream,Actionscript 3,Flex4,Flash Builder,Netstream,我试图用动作脚本语言在NetStream中实现seek函数,seek不能正常工作。我在NetStream中读到了关于关键帧的内容,关键帧和seek之间的关系是什么?NetStream使用seek函数还有其他问题吗? 要查找的onClick()函数 private function onClick(event:MouseEvent):void { if (event.currentTarget is Group) { var

我试图用动作脚本语言在NetStream中实现seek函数,seek不能正常工作。我在NetStream中读到了关于关键帧的内容,关键帧和seek之间的关系是什么?NetStream使用seek函数还有其他问题吗? 要查找的onClick()函数

  private function onClick(event:MouseEvent):void
    {
         if (event.currentTarget is Group)
         {
             var myGroup:Group = event.currentTarget as Group;
             if ( myGroup.mouseX >= 100)
              {
                 mouseClickedXPos = myGroup.mouseX;
                 ns.inBufferSeek = true;
                 var seekTime:Number = (mouseClickedXPos-100) * (totalTime/(controlBarControls.width-100));
                 ns.seek(seekTime);     
             }  
         }
    }
网络流的netStatus有一个事件

ns.addEventListener(NetStatusEvent.NET_STATUS,onNetStatus)


event.info.code
是NetStream.Seek.InvalidTime,视频将停止播放,有时会寻找视频的结尾,但我跟踪它,
ns.time()
不会更新为新值(seekTime)

我不完全确定,但我认为您这句话搞错了:

var seekTime:Number = (mouseClickedXPos-100) * (totalTime/(controlBarControls.width-100));
请尝试以下方法:

var seekTime:Number = ( ( mouseClickedXPos - 100 ) / ( controlBarControls.width - 100 ) ) * totalTime;
基本上,您是比较两个完全不同的量来形成一个比率,然后乘以鼠标单击位置。相反,将鼠标除以总宽度(以总宽度的百分比表示单击的位置),然后乘以时间(以总时间的百分比表示)


我对NetStream的工作方式不太熟悉(我使用过它,只是不太了解它),但是如果您通过的时间大于totalTime,则一定会出现错误,或者它必须通过不完成命令或将值设置为0来处理它(我个人认为这是会发生的事情。无论如何,这是我会怎么做的)

除非您向我们展示有问题的代码、该代码的上下文以及您遇到的实际错误,否则我们无法为您提供帮助。@Apocalyptic0n3:question updated seek方法的问题是关键帧,决定了seek是否准确。如果视频是从服务器加载的,并且长度正确,seek将无法正常工作视频的持续时间小于一到两分钟。我在不到一分钟的持续时间内对其进行测试,搜索不起作用,它将给出seek.InvalidTime错误,但在两分钟的视频持续时间上进行测试时,搜索将起到非常好的作用,而不完全是实际搜索的+/-1秒,因为加载时视频将搜索最近的关键帧。谢谢你的重播和回复。
var seekTime:Number = ( ( mouseClickedXPos - 100 ) / ( controlBarControls.width - 100 ) ) * totalTime;