Apache flex 使用Flex和Flash媒体服务器逐帧推进视频

Apache flex 使用Flex和Flash媒体服务器逐帧推进视频,apache-flex,video-streaming,flash-media-server,Apache Flex,Video Streaming,Flash Media Server,我已经安装了一个Adobe Flash Media服务器,其中包含一些流媒体视频(.f4v)。我有一个Flex应用程序,它使用视频显示组件连接和播放视频 对于这个特定的应用程序,用户可以暂停视频并缓慢推进,每次单击一次,这一点非常重要。如果可能的话,一帧接一帧会很酷 目前我这样做,对于值>0.1s的情况下效果相当好 protected function reverseFrame(event:MouseEvent):void { mainVi

我已经安装了一个Adobe Flash Media服务器,其中包含一些流媒体视频(.f4v)。我有一个Flex应用程序,它使用视频显示组件连接和播放视频

对于这个特定的应用程序,用户可以暂停视频并缓慢推进,每次单击一次,这一点非常重要。如果可能的话,一帧接一帧会很酷

目前我这样做,对于值>0.1s的情况下效果相当好

        protected function reverseFrame(event:MouseEvent):void
        {
            mainVideo.playheadTime -= 0.1; // seconds
        }

        protected function advanceFrame(event:MouseEvent):void
        {
            mainVideo.playheadTime += 0.1; // seconds
        }
我可能可以计算出一帧所需的大致时间(我想是从元数据中计算出来的),但我不确定这是否是最好的方法。此外,有时使用小值(如0.1s)时,在我再次前进之前,它不会渲染下一个图像

我已经看到了播放Flash媒体的其他组件,但我不确定它们是否比视频显示提供了任何额外的好处


如果您可以灵活选择媒体流服务器解决方案,我建议您选择Wowza媒体服务器,而不是Flash媒体服务器

Wowza支持快进、快退、慢动作等功能。它的工作原理是以您想要的速度流媒体,无需在Flex客户端上实现相同的功能

您可以查看上述功能的以下代码示例:

Flash 10.1为此目的提供了