我尝试用动作脚本语言在NetStream类中做seek函数,seek不能正常工作。我在NetStream上读到了KeyFrames,KeyFrames和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);
}
}
}存在net stream的netStatus事件
ns.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);
private function onNetStatus(event:NetStatusEvent):void
{
if ( event.info == "NetStream.Play.StreamNotFound" )
legend.text = "Video file passed, not available!";
else if(event.info.code == "NetStream.Play.FileStructureInvalid")
legend.text = "Video file passed, FileStructureInvalid";
}event.info.code是NetStream.Seek.InvalidTime,视频将停止播放,有时会寻找视频的结尾,但我跟踪它,ns.time()没有更新到新值(seekTime)
发布于 2013-04-19 01:06:33
我不完全确定,但我认为你把这句话搞错了:
var seekTime:Number = (mouseClickedXPos-100) * (totalTime/(controlBarControls.width-100));试着这样做:
var seekTime:Number = ( ( mouseClickedXPos - 100 ) / ( controlBarControls.width - 100 ) ) * totalTime;基本上,您是在比较两个完全不同的量,以形成一个比率,并将其乘以鼠标单击的位置。相反,将mouseX除以总宽度(给出点击位置占总宽度百分比),再乘以时间(给出总时间的百分比)。
我不太熟悉NetStream的工作方式(我用过它,只是还不够广泛,不足以让我一下子就知道这一点),但是如果你经过一个比totalTime更长的时间,肯定有一个错误,或者它必须通过不完成命令或将值设置为0来处理它(我个人认为这就是会发生的事情)。无论如何,这就是我要做的事情)
https://stackoverflow.com/questions/16039264
复制相似问题