当前位置: 首页 > 工具软件 > SWFObject > 使用案例 >

swfobject参数详解

方野
2023-12-01

swfobject2.2参数详解(swfobject.embedSWF)

在flah builder中flex项目运行后生成swf和html文件,html中要通过swfobject.js 调用embedSWF方法去解析swf文件在页面上展示,调用embedSWF的参数如下。

swfobject.embedSWF(swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj, callbackFn);
各个参数的含义:
1--> swfUrlStr:
                要加载的SWF文件相对地址(包括路径、文件名、文件类型等)
2--> replaceElemIdStr:
                加载的SWF将替代id为此字符串的页面元素;
3--> widthStr:
                SWF加载后在页面中显示的宽度;
4--> heightStr:
                SWF加载后在页面中显示的高度;
5--> swfVersionStr:
                要播放此SWF文件所要使用的Flash Player最低版本;
6--> xiSwfUrlStr:
                如果没有flash那就使用这个自动安装flash的文件 swfobject2.2源文件里有(其实是个空的swf文件;
7--> flashvarsObj:
                这里是flashvars的值。这个常用来作为html与flash之间传递参数,本来是在params对象中的属性,由于考虑到常用和方便,所以单独取了出来。如果不需要传参可以设置为null;也可以设置成null,然后在param中写。
8--> parObj:
                下面是可能出现的属性及其解释;
                play: 表示是否自动播放,true(默认,自动)后者false(不自动);
                
                loop:表示是否循环播放,true(默认)或者false;
                menu:表示是否显示右键菜单,true(默认)或者false,注意,当为false时也并不是不显示所有的右键菜单,一般会留下“设置”、“全局设置”、“关于、、、、、”等几个菜单;
                
                quality:参数值: low | medium | high | autolow | autohigh | best, 默认为high;
                    说明: (可选)指定在应用程序回放期间使用的消除锯齿级别。因为消除锯齿需要更快的处理器先对 SWF文件的每一帧进行平滑处理,然后再将它们呈现到观众屏幕上,所以需要根据要优化速度还是优化外观来选择一个值: 
                    1. "low", 使回放速度优先于外观,而且从不使用消除锯齿功能。
                    2. "autolow", 优先考虑速度,但是也会尽可能改善外观。回放开始时,消除锯齿功能处于关闭状态。如果Flash Player检测到处理器可以处理消除锯齿功能,就会打开该功能。
                    3. "autohigh", 在开始时是回放速度和外观两者并重,但在必要时会牺牲外观来保证回放速度。回放开始时,消除锯齿功能处于打开状态。如果实际帧频降到指定帧频之下,就会关闭消除锯齿功能以提高回放速度。使用此设置可模拟Flash中的“消除锯齿”命令(“查看”>“预览模式”>“消除锯齿”)。
                    4. "Medium", 会应用一些消除锯齿功能,但并不会平滑位图。该设置生成的图像品质要高于“Low”设置生成的图像品质,但低于“High”设置生成的图像品质。
                    5. "High", 使外观优先于回放速度,它始终应用消除锯齿功能。如果SWF文件不包含动画,则会对位图进行平滑处理;如果SWF文件包含动画,则不会对位图进行平滑处理。
                    6. "Best", 提供最佳的显示品质,而不考虑回放速度。对所有输出都进行消除锯齿处理,并且对所有位图都进行平滑处理。
                    
                scale:参数值: showall | noborder | exactfit,默认为showall;
                    说明: (可选)当 width 和 height 值是百分比时,定义应用程序如何放置在浏览器窗口中。
                    1. "showall"(默认值),使整个 Flash 内容显示在指定区域中,且不会发生扭曲,同时保持它的原始高宽比。边框可能会出现在应用程序的两侧。
                    2. "noborder", 对 Flash 内容进行缩放以填充指定区域,不会发生扭曲,它会使应用程序保持原始高宽比,但有可能会进行一些裁剪。
                    3. "exactfit", 使整个 Flash 内容显示在指定区域中,但不尝试保持原始高宽比。可能会发生扭曲。
                    
                bgcolor: 使用此属性来覆盖在 Flash SWF 文件中指定的背景色设置。此属性不影响 HTML 页面的背景色;
                
                base: 指定用于解析 Flash SWF 文件中的所有相对路径语句的基本目录或 URL。如果 SWF 文件保存在与您的其他文件不同的目录下,这个属性是非常有用;
                
                swliveconnect:属性值: true | false
                    说明: (可选)指定第一次加载Flash Player时浏览器是否应启动Java。如果忽略此属性,默认值为false。如果在同一页面上同时使用JavaScript和Flash,Java必须处于运行状态,FSCommand()函数才能起作用。但是,如果您运行JavaScript只是为了检测浏览器或用于其他与fscommand()动作无关的目的,则可以通过将 SWLIVECONNECT 设置为 false,从而防止 Java启动。当没有将JavaScript和Flash一起使用时,也可以通过将 SWLIVECONNECT属性明确设置为true,强制Java启动。启动Java会显著增加启动SWF文件所需的时间,因此,只有在必要时才应将此标记设置为 true。仅适用于 embed;
                    
                flahvars: 作为html与flash之间传递参数;
                
                allowscriptaccess: 其值可为"samedomain"(默认值),"never"(不透明),"always"(透明),下面是各值详细解释,
                    说明:使用allowscriptaccess使Flash应用程序可与承载它的HTML页通信,此参数是必需的,因为Flash中的某些操作(如ExternalInterface.call("function")等)可能导致 JavaScript 使用 HTML 页的权限,而该权限可能与 Flash 应用程序的权限不同。这与跨域安全性有着重要关系。 
                    1. "always", 允许随时执行脚本操作。
                    2. "never", 禁止所有脚本执行操作。
                    3. "samedomain", 默认情况下的显示模式, 只有在 Flash 应用程序来自与 HTML 页相同的域时才允许执行脚本操作。
                
                wmode:其值可为"window"(默认值),"opaque"(不透明),"transparent"(透明),下面是各值详细解释,
                    1. "window", 默认情况下的显示模式,在这种模式下flash player有自己的窗口句柄,这就意味着flash影片是存在于Windows中的一个显示实例,并且是在浏览器核心显示窗口之上的,所以flash只是貌似显示在浏览器中,但这也是flash最快最有效率的渲染模式。由于他是独立于浏览器的HTML渲染表面,这就导致默认显示方式下flash总是会遮住位置与他重合的所有DHTML层。但是大多数苹果电脑浏览器会允许DHTML层显示在flash之上,但当flash影片播放时会出现比较诡异的现象,比如DHTML层像被flash刮掉一块一样显示异常。
                    
                    2. "opaque", 这是一种无窗口模式,在这种情况下flash player没有自己的窗口句柄,这就需要浏览器需要告诉flash player在浏览器的渲染表面绘制的时间和位置。这时flash影片就不会在高于浏览器HTML渲染表面而是与其他元素一样在同一个页面上,因此你就可以使用z-index值来控制DHTML元素是遮盖flash或者被遮盖。当不设置时默认为window,这时已窗口方式呈现。这时object元素将始终显示在最上面,同时点击事件等也监听不到。
                    
                    3. "transparent", 透明模式,在这种模式下flash player会将stage的背景色alpha值将为0并且只会绘制stage上真实可见的对象,同样你也可以使用z-index来控制flash影片的深度值,但是与Opaque模式不同的是这样做会降低flash影片的回放效果,而且在9.0.115之前的flash player版本设置wmode=”opaque”或”transparent”会导致全屏模式失效。
9--> attObj:
                这个对象的属性包括id,name,styleclass(不使用class,因为class也是ECMA4的保留关键字),align
10--> callbackFn:
              回调函数,执行完这个方法后会调用这个函数里面的内容。

第一个Red5+SpringMVC服务器:https://blog.csdn.net/qq_33730348/article/details/79931597

如果用ffpeg去解析生成的flv文件和用手机端直播的可以参考 : https://blog.csdn.net/qq_33730348/article/details/79931703


 类似资料: