能否具体一点说,flash动画源文件 文件是指什么文件?

flv_百度百科
FLV 是的简称,FLV流媒体格式是随着 的推出发展而来的。由于它形成的文件极小、速度极快,使得观看成为可能,它的出现有效地解决了视频文件导入Flash后,使导出的体积庞大,不能在上很好的使用等问题。
flvflv发展
FLV是被众多新一代网站所采用,是目前增长最快、最为广泛的视频传播。是在sorenson公司的压缩算法的基础上开发出来的。FLV不仅可以轻松的导入中,速度极快,并且能起到保护的作用,并且可以不通过本地的或者REAL播放视频。
flvflv历史
网络宽带的普及使数量跃升至全球第一,同时也造就了众多的网络神话,斥巨资收购YouTube,似乎将国内外本身已经够火的Web2.0被广泛关注。而流行的风潮似乎又是第一时间刮到了国内,在这个充分发挥自我个性的年代,视频、播客等网站在国内如雨后春笋般兴起,新的网络战役一触即发,这对于FLV的普及无疑是一个巨大的推动力。
FLV(Flash Video)是随着Flash MX的推出而发展而来的一种新兴的。FLV文件体积小巧,清晰的FLV视频1分钟在1MB左右,一部在100左右,是普通视频文件体积的1/3。再加上CPU占有率低、良好等特点使其在网络上盛行,网上的几家著名网站均采用FLV文件提供视频,就充分证明了这一点。
FLV作为一种新兴的,能得到众多的网站支持并非偶然。除了FLV本身占有率低、良好、体积小等特点适合外,丰富、多样的资源也是FLV视频格式统一在线播放视频格式的一个重要因素。从最新的到越狱再到各项体育节目,甚至于网友制作的自拍视频等都可以在网络中轻而易举的找到。
在上提供FLV视频的有两类网站,一种是专门的网站如的YouTube网站、国内的、网等。另一种是门户网站提供了视频播客的板块,提供了自己的视频频道,如视频播客等,也是使用FLV的视频。此外,也推出了关于的功能,里面搜索出来的视频基本都是采用了流行的FLV格式。
Web 2.0时代,要说什么类型网站最火,自然是以国外的Youtube,国内的、网、UUME为代表的网站了。这类网站提供的视频内容可谓各有千秋,但它们无一例外的都使用了Flash作为视频播放,支撑这些的技术基础就是——Flash 视频(FLV) 。
FLV 是一种全新的,它利用了网页上广泛使用的Flash Player 平台,将视频整合到Flash中。也就是说,网站的访问者只要能看,自然也能看FLV视频,而无需再额外安装其它视频,FLV视频的使用给视频传播带来了极大便利。
从Flash MX 2004开始,就提供了FLV支持,不过笔者建议大家使用目前最新版本的Flash 8(目前最新的版本是Flash CC了),这个版本的Flash中有一个独立的FLV转换工具:Flash 8 Video Encoder。点击系统菜单“程序”→“Macromedia”→“Macromedia Flash 8 Video Encoder”进入。
进入程序后,可以看到非常简单。实际上使用这一工具转换普通视频为FLV视频很容易,只需几步即可完成。
点击“增加”按纽,软件自动调用系统“打开”对话,选择需要导入的视频即可。Flash 8 Video Encoder支持转换的相当广泛,如:、、、、等常见视频格式。视频添加进队列后,如果你不需要做特殊修改,那么点击“开始队列”按纽,程序即开始。软件转换视频的速度,笔者总的感觉还是较快,当然这与原始视频大小及设置的视频数据速率有关。整个转换过程,主窗口下方都有信息提示,并且还能看到实时的进度预览。转换结束后,在转换视频同一文件夹下,我们就能得到一个同名的FLV文件。
当然,上述这些只是按照默认设置进行转换的情况,实际情况下,我们对于视频转换的控制还可以很多,点击主窗口“设置”按纽进入高级设置对话框。
在设置对话框中,最显著的就是FLV视频品质设置,默认是“Flash 8- 中等品质(400kbps)”,软件内置7种不同的编码设置组合。我们也可以选择自定义设置,点击“显示高级设置”按纽,软件将显示自定义的设置界面。
软件提供了两种供选择:On2 VP6(用于Flash Player 8,支持Alpha 通道)、Sorenson Spark(用于Flash Player 7,适用于低配置用户);“调整视频大小”也颇有用,我们很容易生成制定尺寸的动画;如果你只重视视频效果,那么你还可以对“”开刀,将默认编码数率设置低些,那么输出的文件还会更小巧。
高级设置中的选择还很多,它甚至还提供了简单的功能,点击“裁切和修剪”标签。
裁切使用很简单,软件提供了四个方向的控制,输入以裁切视频,或者点击“三角”按纽显示控制滑块,拖动滑块直观地调整视频尺寸,视频预览区会实时用虚线勾画裁切范围。
修剪的使用也不复杂,在视频预览区下方可以看到一个蓝色的视频进度指示条,拖动上方的“倒三角”按纽定位视频播放进度。进度指示条下方有两个按纽,它们就是“开始点”和“结束点”定位按纽,分别拖动按纽到所需位置,即完成简单的视频修剪。
得到了FLV文件,其实我们并不能直接在网页中使用,我们还需要将它嫁接到Flash动画中去。如同大家在各种中看到的一样,我们创建的Flash视频并不是简单播放就算了,它也是带播放控制的。
运行Flash 8,创建新的Flash 文档,点击菜单“文件”→“导入”→“导入视频”,进入“导入视频”对话框。
可以看到,选择视频时会有两种不同的选择:“在您的上”、“已经部署到”,这两者是有区别的,不过我们仅需在本地测试动画,选择“在您的计算机上”。点击“浏览”按纽,通过系统打开对话框,载入我们刚生成的FLV文件,点击“下一个”按纽继续。
接下来选择“部署方式”为:“从Web”,进入“外观”选项。
Flash 8当前已经为播放FLV视频内置了数十个播放,它们的外观各异,控制选项也有区别,你可以根据自己的需要,选择一个合适的播放控制器,最后点击“完成”按纽结束。
返回Flash 8主窗口工作区,可以看到我们刚插入的视频已经布置到位了,此时你可以直接按Ctrl+Enter测试动画了。
flv不同方式
flv本地文件
作为一个独立的FLV文件。虽然Flash视频文件通常是交付使用的Flash Player的控制, FLV文件本身是全功能对自己的和可以发挥的或转换为其他,由本地存储如硬盘或CD上。[引文需要]
flv嵌入式swf
在一个嵌入式的使用Flash创作工具(支持在Flash Player 6和更高版本)。整个档案必须在移交之后,才可以开始播放。改变影片需要重建的SWF文件。
flv逐步下载
逐步通过HTTP下载(支持在Flash Player 7和更高版本)。此方法使用的ActionScript ,包括一外部托管的Flash视频文件的播放。有几个优势,包括缓冲,使用通用的HTTP服务器,并有能力再用一个单一的SWF Player的多重FLASH视频源。Flash Player 8中包括支持内部的视频文件使用部分下载功能的HTTP ,有时这是被称为流。不过,不同的流使用rtmp ,HTTP的“分流” ,不支持实时广播。流通过HTTP需要自订和注射液的具体Flash视频中继载有确切的出发位置在和的每一个。使用此特定的信息,自定义的Flash,可要求任何部分的Flash视频文件,开始在指定的。举例来说,Google视频和YouTube支持并可以寻求任何部分的视频前缓冲完成。服务器端的一部分,这个“ HTTP的伪分流”的方法是相当简单的执行,例如在PHP中,作为Apache的httpd模块,或1 lighttpd模块。丰富的项目提供球员和Flash组件兼容的“HTTP伪分流”的方法。
flvrtmp方式
流通过rtmp到Flash Player的使用Flash(以前称为闪光),风险投资, electroserver , wowza Pro或开放原始码red5服务器。截至2008年4月,有4个流,供本议定书,重新编码screencast软件排除在外。
flv文件生成
通过动画预览,我们可以发现,默认的Flash动画尺寸比宽了不少,我们需要重新设置一下。鼠标在工作区中选择“控件”,调用“属性”(Ctrl+F3),修改X、Y轴值为“0.0”,这样我们就将“播放器控件”这个元件定位到了工作区的左上方顶点处。
点击菜单“修改”→“文档”,进入“文档属性”对话框,选择“匹配”值为“内容”,点击“确定”返回,于是Flash文档的尺寸就与一致了。
如果大家制作的FLV视频动画只打算在本地计算中播放,那么就直接输出SWF文件即可,如果是准备在网络中调用,那么还需要做一些事情。
先上传自己制作的FLV文件到,获得文件远程:如:http: //www.scxp.net/01.flv。接下来,选择工作区中的“控件”,调用“参数”面板,找到“contentPath”字段,修改它的值为“http://www.scxp.net/01.flv”(原始值就是最开始大家设置的本地FLV文件路径)。
点击菜单“文件”→“导出”→“导出影片”,例:设置导出影片地址为“D:/”,文件名为“01.swf”。接下来,设置版本为“Flash Player 8”,ActionScript版本为“ActionScript 2.0”,点击“确定”完成。
进入“D:/”,可以看到,除了刚生成的“01.swf”文件外,还多了个 “SteelOverPlaySeekMute.swf”文件,它也是调用Flash视频必须的文件,将这两个文件也上传到你的服务器中即可。以后你在网上任何地方需要调用Flash视频时,只需要插入服务器上的那个“01.swf”的网络地址即可。
注:设置Flash动画调用的FLV文件为网上远程路径后,本地预览“01.swf”文件会有安全警告,这是正常的情况,大家不必担心。
另外,很多的具有视频功能的MP3也支持flv。
flv公司媒体
MPlayer的(使用ffmpeg )
使用RealPlayer
xine (用途ffmpeg )
任何,可以使用ffdshow (基于ffmpeg )DirectShow的编解码器:
Windows Media Player中
任何使用的QuickTime ,安装后的FLV的组成部分
flv文件下载
在线观看的flv视频文件基本都不提供下载,在此介绍两种下载方法:
flvtemp下载
该方法对多数视频适用。
首先,正常观看视频,不要关闭,
其次,等视频加载完毕,进入C:\Documents and Settings\你的用户名\Local Settings\Temporary Internet Files
(这只是默认位置,若无法访问请打开“Internet选项”(IE中栏内“工具”--&“Internet选项”)单击“浏览历史记录”中“设置”,“查看文件”(不同版本IE操作可能有所区别))
这个文件夹(有可能要用到中的“显示全部文件”才可看见),然后,查找为flv的文件即可,可以按时间排序,很容易找到。也可以按大小,视频文件一般都比较大,排在顶部本方法适合任何flv。
flv专业工具
还有一种(推荐, 非常轻松地下载)可借助flv视频,例如:流行的有视频下载、下载、硕鼠等,都是比较成熟的软件,可提供播放、下载、转换等功能。界面简单易用,知名度高,其本身是一个flv资源平台,提供的flv资源自然丰富,狂雷视频下载像一样,功能丰富,而且下载速度是同类所有中最快的,支持分段视频的自动合并,还具有强大的视频转换功能,可根据手机型号来转换FLV视频到您手机支持的。像FLASHGET一样,操作比较复杂,只有下载,没有搜索功能。还有像其他的flv小软件,比如xmlbar之类的,不过功能有点简单,易操作性一般。
另外还可以通过flvcd网站在线解析视频地址,直接下载,无需安装插件.
flv制作视频
FLV是一种新的格式,全称为Flash Video。Flash MX 2004对其提供了完美的支持,它的出现有效地解决了视频文件导入Flash后,使导出的SWF文件体积庞大,不能在网络上很好的使用等。下面我们就来介绍一下如何使用小巧的FLV文件。
flv流媒体格式
首先,打开Flash MX 2004,新建一个Flash文档。将准备好的的视频文件导入到库中。导入过程会出现向导提示,总共分2步,分别是“编辑”和“编码”的处理。
按照默认值进行处理,我们选择“导入整个视频”,单击“下一步”按钮然后“结束”完成导入过程。按下“Ctrl+L”组合键打开库,双击刚刚导入的AVI文件图标,打开“嵌入视频属性”界面。
单击“导出”生成FLV文件。
通过以上操作我们成功地将视频AVI转换成为了FLV格式。这其中发生了什么变化呢?在的转化下。使23MB的AVI文件变成了541KB的FLV文件。让一个大块头“瘦”下来,这就可以轻松的放到网络中使用了。
flv使流媒体文件
新建一个Flash文档,按下“Ctrl+F7”组合键打开组件窗口,将Media Componets中的MediaPlayback组件拖入场景中。
用鼠标选中刚拖入的MediaPlayback组件,按下“Alt+F7”组合键打开“组件检查器”界面。组件检查器中的参数含义如下:定义了播放文件的类型为FLV,也可以播放MP3文件;URL中需要指定FLV文 件的路径,因为我们将FLV文件和Flash文件放在了同一目录中,所以这里只要指定文件名就可以了;Automatically Play为自动播放;Control Placement和Control Visibility分别为播放面板的位置和是否可见。
设置完成后,我们可以通过按下“Ctrl+Enter”组合键测试效果。视频和声音让你耳目一新!
这样一个FLV的就完成了。别看它制作简单,但功能还算齐全,特别是它提供了下载进度的显示,可以一边下载一边播放。这样我们的网站再也不用愁那些“大块头”的视频文件怎么放上去了。Flash MX 2004支持很多转化为FLV,自己动手做做,你会发现很多新技巧。不断的探索,你会成长的很快!
flv文件结构
FLV是一个,由(FLV header)和很多tag组成。tag又可以分成三类:audio,video,script,分别代表,,脚本流(或者文件信息之类)。
FLV文件=FLV头文件+ tag1+tag内容1 + tag2+tag内容2 + ...+... + tagN+tag内容N。
flvFLV头文件
一般比较简单,包括之类的全局信息
文件类型3bytes 总是FLV(0x46 0x4C 0x56)
版本1byte 一般是0x01,表示FLV version 1
流信息1byte 倒数第一bit是1表示有视频,倒数第三bit是1表示有,其他都应该是0(有些软件如flvtool2可能造成倒数第四bit是1,不过也没发现有什么不对)
header长度4bytes 整个的长度,一般是9(3+1+1+4),有时候后面还有些别的信息,就不是9了
FLV头文件:(9字节)
1-3: 前3个字节是文件格式标识(FLV 0x46 0x4C 0x56).
4-4: 第4个字节是版本(0x01)
5-5: 第5个字节的前5个bit是保留的必须是0.
6-9: 第6-9的四个字节还是保留的.其数据为
整个文件头的长度,一般是9(3+1+1+4)
flv文件元信息
flv文件中的元信息,是一些描述flv文件各类属性的信息。这些信息以AMF格式保存在文件的起始部分。adobe官方的标准flv元信息项目如下(来源:[1]
audiochannels
audiocodecid
audiodatarate
audiodevice
audioinputvolume
audiosamplerate
creationdate
duration (media files only)
fmleversion (Flash Media Live Encoder version) (media files only)
lastkeyframetimestamp (media files only)
lasttimestamp (media files only)
presetname
videocodecid
videodatarate
videodevice
videokeyframe_frequency
两个常用的操作metadata的工具是flvtool2和FLVMDI,都是把keyframes作为一个默认的元信息 项目。
flvFLV Body
FLV body就是由很多tag组成的,一个tag包括下列信息:
previoustagsize 4bytes 前一个tag的长度,第一个tag就是0
tag类型1byte
* 8 -- 音频tag
* 9 -- 视频tag
* 18 -- 脚本tag
数据区长度3bytes3bytes 单位毫秒,如果是脚本tag就是0
扩展时间戳1byte 作为时间戳的高位
streamsID 3bytes 总是0(不知道干啥用)
根据不同的tag类型就有不同的数据区
Audio tag 数据区
audio信息1byte
前四位bits表示:
* 0 -- 未压缩
* 1 -- ADPCM
* 2 -- MP3
* 5 -- Nellymoser 8kHz momo
* 6 -- Nellymoser
下面两位bits表示samplerate:
* 0 -- 5.5kHz
* 1 -- 11kHz
* 2 -- 22kHz
* 3 -- 44kHz
下面一位bit表示每个采样的长度:
* 0 -- snd8Bit
* 1 -- snd16Bit
下面一位bit表示类型:
* 0 -- sndMomo
* 1 -- sndStereo
audio数据区
video tag 数据区
video信息1byte
前四位bits表示类型:
* 1 -- keyframe
* 2 -- inner frame
* 3 -- disposable inner frame (H.263 only)
后四位bits表示编码器id:
* 2 -- Seronson H.263
* 3 -- Screen video
* 4 -- On2 VP6
* 5 -- On2 VP6 without channel
* 6 -- Screen video version 2
video数据区
ScriptTagData结构(控制帧)[2]
该类型Tag又通常被称为Metadata Tag,会放一些关于FLV视频和音频的参数信息如:duration、width、height等。通常该类型Tag会跟在File Header后面作为第一个Tag出现,而且只有一个。
前11个字节为Tag Header结构 第一个AMF包(13字节):
第1个字节表示AMF包类型,一般总是0x02,表示字符串
第2-3个字节为UI16类型值,一般总是0x000A(“onMetaData”长度)。 后面字节一般总为“onMetaData”。(6F,6E,4D,65,74,61,44,61,74,61) 第二个AMF包:
第1个字节表示AMF包类型,一般总是0x08,表示数组。 第2-5个字节为UI32类型值,表示数组元素的个数。
后面即为各数组元素的封装,数组元素为元素名称和值组成的对。表示方法如下: 第1-2个字节表示元素名称的长度,假设为L。 后面跟着为长度为L的字符串。 第L+3个字节表示元素值的类型。
后面跟着为对应值,占用字节数取决于值的类型。
flvtag格式
tag类型信息,固定长度为15字节
1-4: 前一个tag长度(4字节),第一个tag就是0
5-5: tag类型(1字节);0x8音频;0x9视频;0x12脚本数据
6-8: tag内容大小(3字节)
9-11: 时间戳(3字节)(毫秒)(第1个tag的时候总是为0,如果是脚本tag就是0)
12-12: 时间戳扩展(1字节)让时间戳变成4字节(以存储更长时间的flv时间信息),本字节作为时间戳的最高位.
在flv回放过程中,播放顺序是按照tag的时间戳顺序播放.任何加入到文件中时间设置数据格式都将被忽略.
13-15: streamID(3字节) 总是0
.adobe[引用日期]
.百度文库[引用日期]
中国电子学会(Chinese Instit...
提供资源类型:内容能否具体一点说,flash 文件是指什么文件?_百度知道
能否具体一点说,flash 文件是指什么文件?
swf、程序中会用到,FLASH文件是常用的动画文件,常常在网页中。扩展名为你好。也有专做FLASH动画影片的
来自团队:
其他类似问题
为您推荐:
flash的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁[经典]AE可以导出何种Flash文件格式 - 一个人的世界的日志 - 网易博客
&&&&【提要】综合文库信息 : 《[经典]AE可以导出何种Flash文件格式 - 一个人的世界的日志 - 网易博客》由66test综合文库频道友情收集整理,来源于网络,仅供参考:
&&&&AE可以导出何种Flash文件格式&&&&记事本_STUDY
13:17:32 阅读423 评论0
字号:大中小
订阅&&&&After Effects新增了输出Flash文件的功能,可导出FLV和SWF两种格式的Flash文件,下面我们来介绍一下这两种格式的文件的输出。&&&&一、FLV文件&&&&在Project窗口中选择需要输出的合成项目,选择菜单FileExportFlash Video(FLV),打开Flash Video Encoding Settings视频编码对话框,如图1所示。&&&&图1&&&&左上角的下拉列表框可选择各种压缩质量的预置文件进行编码,点击Show Advanced Settings将打开高级设置。&&&&Encode:是否包含视频信息。&&&&Video Codec:视频编码选择,一般默认使用On2 VP6,这种编码品质最好而且文件又不大,在Flash Player 8中进行播放,若选择Sorenson Spark在Flash Player 7中播放。&&&&Encode alpha channel:是否支持Alpha透明。&&&&Frame rate:帧速率设置。&&&&Key frame placement:视频关键帧位置,这里所指的关键帧包含了完整的数据,在关键帧间隔位置处的帧Flash只存储不同于前一帧的数据。&&&&Key frame interval:在上一项设置为Custom时使用,指定关键帧之间的间隔。&&&&Quality:质量设置。&&&&Max data rate:最大数据每秒钟输出量,在画面尺寸固定的前提下,此处值越大画面质量越高文件也越大。&&&&Resize video:视频尺寸长宽的设定,勾选Maintain aspect ratio将保持高宽比。&&&&Encode audio:是否编码音频信息。&&&&Data rate:每秒数据输出量,值越大,音质越好。&&&&设置完毕后,点击OK,即可完成FLV文件的输出。&&&&二、SWF文件&&&&在Project窗口中选择需要输出的合成项目,选择菜单FileExportMacromedia Flash (SWF),设置保存的路径及名称,打开SWF Settings视频编码对话框,如图2所示。&&&&图2&&&&JPEG Quality:图像压缩质量设置。&&&&Unsupported Features:设置SWF文件不支持的效果,包括Igore(忽略所有不兼容效果)、Rasterize(将不兼容的效果位图化)。&&&&Audio:音频质量设置。&&&&Loop Continuously:是否让文件循环播放。&&&&Rrevent Inport:对文件加密,不允许置入到Flash软件中。&&&&Include Object Names:保留对象名称。&&&&Include Layer Marker Web Links:保留在层标记中设置的网页链接信息。&&&&Flatten Illustrator Artwork:若合成项目中含有固态层或Illustrator素材,建议勾选此项。&&&&SWF文件完成输出后将会生成.html和.swf两个文件&&&&【66提示】如页面失效,请百度标题查看相关内容……
特别声明:已经打包的flash影片能不能修改,我指的是后缀为swf的FLASH文件如何修改?请高手指教!_已解决 - 阿里巴巴生意经
大家都在搜
已经打包的flash影片能不能修改,我指的是后缀为swf的FLASH文件如何修改?请高手指教!
cbu-vsmeat的答复:
能修改,但需要下载SWF转FLA&的工具软件,将SWF转为FLA&后,再然后使用flash软件对FLA进行再编辑,但是对采用了加密保护措施的SWF,是无能为力的。
回答:共&0&条flash嵌入html 在html网页代码中嵌入Flash文件的解决方案(下)
作者:佚名
字体:[ ] 来源:互联网 时间:01-04 16:28:54
在HTML代码中嵌入Flash文件一直都是广大web爱好者所所喜欢挑战的事,也算不上什么挑战(对于新手朋友来说吧)好了,闲话不多说,切入正题
关于我的SWFObject V1.5的使用过程,以中的介绍暂时告一段落了,下面我将会带领SWFObject V2.1出场与大家见面,如果我早一点结识V2.1的话,或许就不会受到&等待HTML DOM加载&问题的侵扰了。 首先,给大家简要介绍一下V2.1语法的调用示例: 代码如下:&script type="text/javascript" src="swfobject.js"&&/script&&script type="text/javascript"&//1、使用Json初始化变量、参数、属性
var flashvars = {
name1: "hello",
name2: "world",
name3: "foobar"
var params = {
menu: "false"
var attributes = {
id: "dynamicContent2",
name: "dynamicContent2"
swfobject.embedSWF("test6_flashvars.swf", "content2", "300", "120", "6.0.0", "expressInstall.swf", flashvars, params, attributes);//2、传统的初始化设置,效果一样
var flashvars = {};
flashvars.name1 = "hello";
flashvars.name2 = "world";
flashvars.name3 = "foobar";
var params = {};
params.menu = "false";
var attributes = {};
attributes.id = "dynamicContent3";
attributes.name = "dynamicContent3";
swfobject.embedSWF("test6_flashvars.swf", "content3", "300", "120", "6.0.0", "expressInstall.swf", flashvars, params, attributes);//3、直接写在后面,就一句话,简洁剽悍,不拖泥带水
swfobject.embedSWF("test6_flashvars.swf", "content5", "300", "120", "6.0.0", "expressInstall.swf", {name1:"hello",name2:"world",name3:"foobar"}, {menu:"false"}, {id:"dynamicContent5",name:"dynamicContent5"});&/script&从我个人来讲,我比较喜欢上面的第三种写法,下面即将提到,我在HTML代码中嵌入Flash文件的最终解决方案中,就是采取的第三种风格调用的swfobject.embedSWF()。V2.1版本的风格非常符合现代JS的风格,代码显得更为简洁。 上篇中采取的解决方案看来,似乎已经能够满足大部分需求,而且兼容性似乎也还过得去,理应能够满足绝多数朋友的需求,也未尝不可是一个过得去的解决方案。但是,有一种比较极端的情况被我发现,就是在:代码如下:new SWFObject("/Flash/.swf", "mymovie", "304", "367", "7", "#FFFFFF"); 的时候,如果传入的Flash文件的地址有误,又或者该Flash文件在服务器中被删除掉了,那么你将看到一种最不愿意看到的情况,示例 如下: 代码如下:&html&&title&DEMO&/title&&head&&script type="text/javascript" src="swfobject_source.js"&&/script&&/head&&body&
&form id="Form1"&
&div id="flashcontent"&
&a href="/go/getflashplayer"&
&img src="/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" border="0" /&
&script type="text/javascript"&
// 注意,我在Flash文件名前加了一个f
var so = new SWFObject("/Flash/f.swf", "mymovie", "304", "367", "7", "#FFFFFF");
so.write("flashcontent");
&/script&&/body&&/html&建议您亲自执行一下这段代码,如果您是一名新手可参见上篇中说介绍的步骤来运行一下这段代码,真实的感受一下&灾难&的降临。 是的,您将看到页面上一片空白,那原本用于替换不能显示Flash时备用的图片也不见了,去了哪里呢?我经过调试后发现,纵使因为传入的Flash文件地址错误,也会创建一个错误的&object [&&]&&/object&标签将&div id=&flashcontent&&[&&]&/div&中的内容替换掉,从而就是你看到的,将形成一个高宽分别为304px和367px的空白区域(如果安装了Flash播放器,在屏幕左上角点击鼠标右键,您会有所发现),于是噩梦就如此降临了。 为了解决这个噩梦般的结果,于是乎,我就想到一个馊主意,首先检查一下根据传入的Flash文件地址检查一下服务器上是否真的存在该文件,如果返回的结果是该Flash文件存在,那么就执行swfobject.embedSWF()方法,而具体的思路就是利用XMLHttpRequest 对象,通过GET/HEAD方式请求服务器,然后判断xmlHttp.status == 200 || xmlHttp.status == 302作为文件存在的依据,但是这种方式似乎还是存在一定的缺陷,暂时我还没有能力完善,现将我最终的解决方案示例如下: 代码如下:&html&&title&DEMO&/title&&head&&script language="javascript" type="text/javascript" src="JavaScript/swfobject.js"&&/script&&script type="text/javascript"&(function() {
var xmlHttp,
flashURL = "/Flash/.swf";
var checkFlashURL = function(url) {
xmlHttp = GetXmlHttpObject();
xmlHttp.onreadystatechange = function() {
if ( xmlHttp.readyState == 4 ) {
if ( xmlHttp.status == 200 ||
xmlHttp.status == 302 ) {
return (result = true);
xmlHttp.open("HEAD", url, true);
xmlHttp.send(null);
var GetXmlHttpObject = function() {
var xmlHttp =
// Firefox, Opera 8.0+, Safari
xmlHttp = new XMLHttpRequest();
catch (e) {
// Internet Explorer
// Older IE
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
return xmlH
// 就是用于检查服务器上指定的Flash文件是否存在
checkFlashURL(flashURL);
window.onload = function() {
if ( result ) {
swfobject.embedSWF(flashURL, "flashcontent", "304", "367", "10.0.0", "expressInstall.swf", {}, { quality:"autohigh", wmode:"transparent" }, {});
window.alert("您的Flash地址无效,请仔细检查");
// 只是用于调试时检查Flash地址地否正确
}})();&/script&&/head&&body&
&form id="Form1"&
&div id="flashcontent"&
&a href="/go/getflashplayer"&
&img src="/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" border="0" /&
&/form&&/body&&/html&哇,用了数小时在把这两篇文字折腾好,不小心在公司呆到快22点了,保安来赶人了,想草草收场吧,明天上班得空再来雕琢一下文字,呵呵。
大家感兴趣的内容
12345678910
最近更新的内容}

我要回帖

更多关于 flash源文件下载 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信