【问题标题】:NetStream.seek error Seeking videosNetStream.seek 错误 求视频
【发布时间】:2013-04-16 14:05:25
【问题描述】:

我尝试使用动作脚本语言在NetStream 类中执行搜索功能,但搜索无法正常工作。我在 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);     
             }  
         }
    }

有网络流的 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)

【问题讨论】:

  • 除非您向我们展示相关代码、该代码的上下文以及您遇到的实际错误,否则我们无法为您提供帮助。
  • @Apocalyptic0n3 : 问题更新

标签: actionscript-3 flex4 flash-builder netstream


【解决方案1】:

我不完全确定,但我认为你的这行写错了:

var seekTime:Number = (mouseClickedXPos-100) * (totalTime/(controlBarControls.width-100));

试试这个:

var seekTime:Number = ( ( mouseClickedXPos - 100 ) / ( controlBarControls.width - 100 ) ) * totalTime;

基本上,您是在比较两个完全不同的量以形成一个比率并将其乘以鼠标点击位置。取而代之的是,将 mouseX 除以总宽度(将点击位置作为总宽度的百分比)然后乘以时间(给出总时间的百分比)。

我对 NetStream 的工作方式并不太熟悉(我已经使用过它,只是不够广泛地知道这一点),但如果您通过的时间大于总时间,则必须是一个错误,或者它必须通过不完成命令或将值设置为 0 来处理它(我个人认为这是会发生的事情。无论如何我都会这样做)

【讨论】:

  • seek方法的问题是关键帧决定了seek是否准确。如果从服务器加载视频并且视频的长度小于一两分钟的持续时间,则 seek 将无法正常工作。我在不到一分钟的持续时间内对其进行测试,它会给出 Seek.InvalidTime Error ,但是在两分钟的视频持续时间上进行测试时,搜索会很好地工作,并不完全是实际搜索的+/-一秒,因为视频加载时将搜索最近的关键帧帧。感谢重播和回答。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多