`

[转][心得] 一个例子获取swf文件头帧频

阅读更多
转载地址:
http://bbs.9ria.com/viewthread.php?tid=64203&extra=page%3D1%26amp;orderby%3Ddateline%26amp;filter%3D86400



主要适用于传媒方面,用AS3写的Swf去加载AS2版本的Swf,通过获取帧频,调整自己做加载容器的帧频,来达到动画的流畅
package 
{
        import flash.display.Sprite;
        import flash.events.Event;
        import flash.net.URLRequest;
        import flash.events.IEventDispatcher;
        import flash.net.URLStream;
        import flash.utils.ByteArray;
       
       
        public class Test extends Sprite
        {
                private var loader:URLStream;
                public function Test()
                {
                        this.addEventListener(Event.ADDED_TO_STAGE, onAddToStage);
                }
                private function onAddToStage(e:Event):void
                {
                        loader = new URLStream();
                         configureListeners(loader);

            var request:URLRequest = new URLRequest("TestAs.swf");
            try {
                loader.load(request);
            } catch (error:Error) {
                trace("Unable to load requested document.");
            }
                }
                private function configureListeners(dispatcher:IEventDispatcher):void {
            dispatcher.addEventListener(Event.COMPLETE, completeHandler);
        }
                private function completeHandler(e:Event):void
                {
                        var tmpLoader:URLStream = URLStream(e.currentTarget);
                       
                        var bytes:ByteArray = new ByteArray();
                        tmpLoader.readBytes(bytes)
                        var zlibFlag:String = "F";
                        zlibFlag = bytes.readUTFBytes(1);
                       
                        /*trace(bytes.readUTFBytes(1))
                        trace(bytes.readUTFBytes(1))
                        trace(bytes.readUnsignedByte())//==版本号
                        */
                        if (zlibFlag=="F")
                        {
                                //========没有压缩的swf
                                bytes.position = 17;
                                trace(bytes.readUnsignedShort())//读出帧频
                        }else
                        {
                                //========压缩过的swf,从Flash6就开始有这功能
                                var tmpBytes:ByteArray = new ByteArray();
                                tmpBytes.writeBytes(bytes,  8 );//==把位置8开始读到新的ByteArray
                               
                                tmpBytes.uncompress();//===解压缩
                               
                                tmpBytes.position = 9;//===转到读帧频的位置
                                trace(tmpBytes.readUnsignedShort())//读出帧频
                        }
                       
                }
        }

}
复制代码
分享到:
评论

相关推荐

    Adobe SWF 文件格式规范

    SWF文件头包含了文件的基本信息,如版本号、文件长度和帧频等。 #### 2.2 SWF 文件结构 SWF文件主要由文件头、一系列标签以及可能存在的压缩数据构成。标签是SWF文件的核心组成部分,用于描述文件内容和行为。 ##...

    SWF转GIF,Flash转换为GIF文件的方法.docx

    标题中的“SWF转GIF,Flash转换为GIF文件的方法”是指将基于Flash的SWF格式文件转换为常见的GIF动画格式的过程。这通常是因为SWF文件虽然适合在网络上传播,但其体积较大,不适合在某些平台如论坛上作为动态签名使用...

    不谦虚得说是一款顶级的帧频检测应用

    本文将深入探讨一款被描述为“顶级帧频检测应用”的工具,它在项目开发中起到了提升全面思考能力的作用。我们将围绕其核心技术AS3(ActionScript 3)以及帧频检测和调试信息这两个核心概念进行详细解析。 首先,AS3...

    MT9001帧频计算器——VC

    总的来说,MT9001帧频计算器是一个基于VC++6.0的实用软件,它通过精确计算MT9001相机在不同配置下的帧频,为用户提供了优化图像采集系统的关键信息。用户不仅可以借此了解相机的性能边界,还能根据具体需求进行定制...

    不使用DirectX和OpenGL实现可转动的三维框架并可以计算帧频

    这个项目就是这样一个例子,它展示了如何在没有DirectX和OpenGL的情况下构建一个可以转动的3D框架,并能实时计算帧率。 首先,我们需要理解三维框架的基本构造。在3D空间中,我们通常用坐标系来表示物体的位置和...

    基于FPGA的高帧频图像跟踪系统设计.pdf

    从以上内容可以看出,高帧频图像跟踪系统设计是一个高度复杂的系统工程,涵盖了图像传感器技术、硬件开发、实时图像处理、动态目标跟踪等多个领域。在设计和开发此类系统时,需要有深厚的理论基础以及硬件、软件的...

    OpenCV获取并设置摄像头拍摄视频的帧率、分辨率

    在计算机视觉领域,OpenCV(开源计算机视觉库)是一个广泛使用的工具,用于处理图像和视频数据。本主题聚焦于如何使用OpenCV获取和设置摄像头拍摄视频的帧率和分辨率。了解这些参数对于创建高质量的视频流至关重要,...

    OpenCV实现摄像头帧频检测(C++实现).zip

    在视频处理中,帧频是一个关键参数,因为它直接影响到视频的流畅度和观看体验。检测摄像头的帧频可以帮助我们了解其性能,调整软件设置以优化实时视频处理的效率。 要实现摄像头帧频检测,我们需要完成以下步骤: ...

    Amcap显示实时帧频

    修改官方源码,添加Amcap实时显示帧频功能!有需要的请拿走!

    自己回家要测试的FTEST文件

    以 SWF 文件的帧频重复调用。分配给 onEnterFrame 事件处理函数的函数将在附加到受影响的帧上的所有 ActionScript 代码之前处理。 必须定义一个在调用事件处理函数时执行的函数。您可以在时间轴上定义该函数,也...

    回家后要测试的FLASH TEST文件

    以 SWF 文件的帧频重复调用。分配给 onEnterFrame 事件处理函数的函数将在附加到受影响的帧上的所有 ActionScript 代码之前处理。 必须定义一个在调用事件处理函数时执行的函数。您可以在时间轴上定义该函数,也...

    不使用DirectX和OpenGL实现可转动的三维框架并可以计算帧频。速度还算不错。(45KB)...

    该资源是一个基于Visual Basic编程语言实现的三维框架项目,它不依赖于DirectX或OpenGL这样的图形库,而是利用VB自身的图形处理能力来创建一个可旋转的3D模型,并且能够计算帧频,显示运行效率。这在当时的技术环境...

    VGA-standrad.rar_fpga 帧频

    5. **定时控制器(Timing Generator)**:在FPGA中,你需要设计一个定时控制器来生成HSync、VSycn和像素时钟信号,确保它们满足VGA标准,并与数据传输同步。 实现FPGA中的VGA帧频,需要深入理解数字电路、同步系统...

    Amcap软件 英文的中文的都有带显示帧频

    Amcap软件的一个特色就是它能够实时显示帧频,这对于监控摄像头性能、调整录制设置或进行视频调试来说是非常实用的。 Amcap的主程序文件“amcap.exe”是应用程序的执行文件,用户可以通过双击运行来启动软件。而...

    高帧频CCD数据采集处理系统的设计

    选定的CCD器件是Sarnoff公司的VCCD512H,这是一款背照式的帧转移面阵CCD,拥有512×512个像元,工作光谱范围覆盖400~950纳米。VCCD512H由感光区、存储区、水平移位寄存器和输出电路组成,其特有的16个子阵列结构...

    基于FPGA的高帧频CCD成像系统设计.pdf

    本篇论文的主要内容集中在如何利用FPGA技术设计并实现一个基于帧转移CCD(Charge-Coupled Device, 电荷耦合器件)的高帧频成像系统,该系统还涉及了千兆网的数据传输方式。在机器视觉领域,高速、高分辨率相机的应用...

    帧频提升的程序图像程序

    这个程序不错,应该还是对大家有帮助的我们应该能提供帮助

Global site tag (gtag.js) - Google Analytics