wsf播放器flash打不开swf文件。后缀改了flash也下了。

需求发布后1小时内收到服务商响应每个需求平均有10个服务商参与95%以上的需求得到了圆满解决所有需求不向雇主和服务商收取任何佣金年货包装设计特价,企业送礼倍有面儿
匹配服务商
选择服务商,签单
服务商工作
验收工作,满意后付款
已投标服务商
综合评分:5颗星
速度:5.00
服务:4.93
态度:4.93
好评率:100%
共有5个服务商参与报价,查看更多服务商报价
参与报价,开始赚钱
提交你的报价和方案
中标后交付作品
获得任务赏金
急速:10分钟急速响应
省心:标准化服务
放心:不满意全额退款(免单)一周最热1234567891011121233人阅读
SWF文件头结构如下:
字段&&&&&&&&&&& 类型&&&&&&&&&& 说明
标识&&&&&&&&&&& 8位&&&&&&&&&&&& 表示文件是否被压缩(&46& F 为没有压缩,&43& C 为被压缩)。
标识&&&&&&&&&&&&8位&&&&&&&&&&&& 总是 &57& W。
标识&&&&&&&&&&& 8位&&&&&&&&&&&& 总是 &53& S。
版本号&&&&&&&& 8位&&&&&&&&&&&& 代表SWF文件的版本(如果是9,就为 &09&)。
文件长度&&&& 32位&&&&&&&&&&& 表示文件的大小。
帧大小&&&&&&&& RECT结构&&& 表示舞台的大小。
帧频&&&&&&&&&&& 16位&&&&&&&&&& 每秒要播放的帧数。
帧数&&&&&&&&&&& 16位&&&&&&&&&& 总共的帧数。
以一个实际的未压缩SWF文件头为例子来分别说明上述字段:
&&&&&&&文件头以三个标识符开始,只能是0x46, 0x57, 0x53 (“FWS”)或者0x46, 0x57, 0x43 (“CWS”)。一个FWS标识表示该文件是未压缩文件.CWS标识表示从文件的第九个字节开始的所有内容,都是经过开放标准ZLIB压缩过的。CWS格式仅在SWF6以后才允许使用。
&&&&&& 在标识符之后的一个字节是版本号。这个版本号不是一个ASCII字符,而是一个8比特位的数字。例如,SWF5文件的版本号是0x05,不是ASCII字符&5&(0x36)。
&&&&&& 一个Integer表示文件的长度。低在前,高在后,这里长度表示为0x = 485044字节。文件长度字段代表包括文件头整个文件的总长度。如果是一个未压缩的SWF文件(FWS标识符),文件长度字段表示文件的精确大小;如果是一个经过压缩的SWF文件(CWS标识),文件长度字段表示解压后文件的大小,这样一般就不是实际文件的大小了。让未压缩(解压后)的大小可见,可以使解压过程更加高效。
&&&&&& 这一段长度非固定,这是一个RECT结构。它表示的大小可以根据坐标(四个点的坐标)数值的变化而变化。文件大小RECT通常是这样的形式:Xmin和Ymin成员都为0;Xmax和Ymax成员声明宽度和高度。RECT的解析涉及到如下结构:
Bit Values 格式
Type&&&&&&& Comment
SB[nBits]&& 有符号位值 (nBits表示用多少位来存储这个值)
UB[nBits]&& 无符号位值 (nBits表示用多少位来存储这个值)
RECT 格式
Field&&&&&& Type&&&&&&& && & Comment
Nbits&&&&&& &UB[5]&&&&&&&&& & Bits used for each subsequentfield
Xmin&&&&&&& SB[Nbits]&&&& &x minimum position for rectangle in twips
Xmax&&&&&&& SB[Nbits]& && x maximum position for rectangle in twips
Ymin&&&&&&& SB[Nbits]&& && y minimum position for rectangle in twips
Ymax&&&&&&& SB[Nbits]&&& &y maximum position forrectangle in twips
&&&&&& 也就是说要解析出SWF文件的显示区域,步骤是这样的:得到第9个字节的前5位,这里就是0x70--&0x0E,即14。那么之后的字节就按照14比特位进行分割,共需要4(坐标点数) * 14(所占比特位) + 5(位指示) = 61 bits && 8 Bytes。于是乎,从第9个字节到第16个字节就是RECT结构体所占用的字段:70 00 0F A0 00 00 BB 80 。解析如下:
&&&&&& 因为Flash的坐标是TWIP格式的,单位为1twip(像素),所以得到的数据需要除以20的,即实际RECT值为
&&&&&& 这两个字节表示帧速率。前一字节表示小数位,后一字节表示整数位,不过一般极少有小数位的帧率,所以一般我们只计整数就可以了,这里是0x0C,即每秒12帧。注意,这是一个理想的每秒播放帧数值,如果SWF文件包含声音流数据,或者Flash播放器运行在一个慢的CPU上,这个速率是不能保证的。
&&&&&& 这两个字节表示Flash文件总的帧数,这里为帧。
SWF文件内容结构如下:
&&&&&& 在文件头后面的是一些标签化的数据块。所有的标签都是用一种通用格式。所以任何程序在解析一个SWF文件时,都可以跳过那些还不明确的块。在每个块中的数据可以指向这个块中的偏移量,但绝不能指向另外一个块的偏移量。这样,在用工具处理SWF文件的时候就任意可以删除、插入和修改(而SWF文件不会被破坏)。
&&&&&& 每个标签都是由一个类型和一个长度值开始的,存在两种标签头部格式:短格式和长格式。短标签头部用于62字节或者更小的标签数据,长标签头部能够用于任何大小不超过4GB的标签数据,从长远来看这将会是非常实用的。
1、记录头部(短)
字段&&&&&&&&&&&&&&&&&&& 类型&&&&&&& 说明
标签编码和长度&&& &&&&&& &高10位:标签类型;低6位:标签长度
注意:标签编码和长度字段并不是一个10位的位字段后面跟着6位的位字段,而是一个双字节的字,SWF文件不间断的字节排序使得这两者具有不同的布局。该字段中的长度并不包含标签开始处的记录头部(即该字段所占有的长度)。如果标签的长度大于或者等于63字节,那么它会被存储在长标签头部。
2、记录头部(长)
字段&&&&&&&&&&&&&&&&&&& 类型&&&&&&&& 说明
标签编码和长度&&& &&&&&& & 以短标签头部方式存储的长度为63字节的标签编码和长度
长度&&&&&&&&&&&&&&&&&&&&& &&&&&& &标签的长度
注意:长标签头部由一个标识长度为63字节(0x3f)的短标签头部和一个32位的长度组成。
&&&&&& 标签按作用可划分为两种类型:
定义型标签:这类标签定义SWF影片的内容,如各种形状,文字,位图,声音等等。每个定义型标签在内容被定义都分配了一个唯一的标识号给它,这叫做角色标识(character ID)。flash播放器则把这些角色放到一个存储空间里面,这个存储空间我们一般叫它字典。用定义型tag是不会绘制任何图形的,不会产生任何动画的。
控制型标签:这类标签用来产生和操作字典中的角色实例的渲染,并且控制影片的流程。
SWF标签的排序
总的来说,标签可以出现任何情况的排序方法,但也不是随便乱排, 它遵循一些规则:
1.一个标签只能依靠在它之前的标签,不能依靠在它之后的标签.
2.一个定义了角色的定义型标签必须在引用这个角色的控制型标签之前。
3.流媒体标签必须有顺序,没有顺序的流媒体播放起来也是没有顺序的
4.结束标签(tag)应该在SWF文件的最后。
字典是已经定义好的所有角色的仓库,并且可以通过控制型标签来使用它。建立和使用字典的过程是以下这样的:
1.一个定义型标签定义了一些内容,如形体,字体,位图或者声音。
2.定义型标签给该内容赋上一个唯一的角色标识(CharacterID)。
3.依据角色标识把内容存到字典中。
4.一个控制型标签根据角色标识从字典中找出相应的内容,然后给这个内容执行一些动作,比如显示一个形体,或者播放一个声音。每个控制型标签都 只指定一个唯一的标识。相同的标识是不允许的。举个象征性的例子,第一个角色的标识是1,第二个角色的标识是2,依次类推。角色标识为0的是一个特殊的标 识,被看作是空角色。控制型标签并不是唯一指向字典的标签。定义型标签也可以指向多个角色来定义一些更复杂的角色。例如,定义按钮
(DefineButton)和定义精灵(DefineSprite)标签都是根据其它角色来定义它们的内容的。定义文字(DefineText)标签可 以指向字体角色来为文字选择不同的字体。
处理一个SWF文件
Flash播放器在一个显示帧标签到来之前会处理显示帧标签之前SWF文件的所有标签。在这个时候,播放列表被复制到屏幕上面,与此同时 Flash播放器在处理下一帧之前是空闲的。第一帧所显示的内容,是在第一个显示帧标签之前的所有控制型标签操作产生的累积效果。第二帧所显示的内容,是 从文件开始到第二个显示帧标签所有控制型标签操作产生的累积效果。以此类推。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:96199次
积分:2036
积分:2036
排名:第11186名
原创:109篇
(1)(1)(1)(1)(3)(3)(1)(1)(2)(2)(3)(2)(1)(1)(1)(1)(6)(4)(1)(3)(2)(1)(1)(4)(2)(1)(1)(2)(1)(1)(2)(2)(4)(4)(4)(2)(6)(1)(5)(6)(9)(3)(4)(1)(1)(4)(1)(2)(2)(1)(1)

我要回帖

更多关于 不要flash的swf播放器 的文章

 

随机推荐