Home > 语言编程 > 在flash控件中设置使用透明背景播放影片

在flash控件中设置使用透明背景播放影片

网页或者在window form中插入flash影片形成动态效果是很常用的动态效果显示方式,但是如果网页或者form是分层显示的结构,怎样才能发flash的背景呢?

今天CG解决一个小问题,关于控制flash影片在容器中播放时的背景透明显示问题,相信大家在做网页或者做winform的时候肯定遇到过,大家不需要刻意去修改flash影片的背景为透明因为设置透明的话在flash控件中显示效果是一样的,这里告诉大家一个方法设置flash容器(控件)的Wmode属性即可
下面是Wmode的三种不同参数:

  1. Window:默认的使用模式,也是adobe官方手册中说明渲染速度最快的模式,但是这种
    模式使用的是独立于容器的显示方式,即窗体window方式,使用类似我们习惯的窗体的作为
    独立的打开方式,因此这样的模式下,flash影片实质上是一个可以独立控制的flash播放窗体
    ,而且默认的背景使用的是不透明,这就是为什么容器显示的时候是分离的状态,这个窗体由
    操作系统管理
  2. Opaque:这是一种与window对应的无窗体模式,通常接受所在DOM管理,WEB中通常
    可以当一个DIV层来使用,使用也很灵活,不过这种模式使用的是绝对定位,一般是用嵌套
    方式来控制显示位置,从而保证显示位置正确,通常在web中使用的比较多
  3. Transparent:这是解决问题的模式,是一种特别的显示模式,即背景透明,而且是无视
    原本的flash动画的背景设置,用于在多层显示效果中使用,不过这种模式官方说明是渲染
    速度最慢的模式,是一种特殊的Opaque模式,而且要求的flash版本较高,大家使用的时
    候要注意。

使用方法:
WinForm:直接在AXShockWaveFile控件的Wmode属性中设置相应的模式字符串即可,
如果大家用的VC++的话,建议使用控件的setWmode方法即可,所有的编程语言都支持
此方法

web:如果使用的是object显示方法的话可以再显示参数中添加一个参数即可,参数如下
<param name=”wmode” value=”transparent”>
如果使用的embed方法的话,可以考虑在调用的参数中增加wmode参数即可在调用

两种方法代码如下

1
2
3
4
5
6
7
8
9
10
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs
/flash/swflash.cab#version=6,0,29,0" >
<param name="movie" value="moviename.swf">
<!--//控制显示模式-->
</param><param name="wmode" value="transparent">
<!---/////-->
<embed src="moviename.swf" type="application/x-shockwave-flash" wmode = "transparent">
</embed>
</param></object>
Categories: 语言编程 Tags: ,
  1. June 2nd, 2009 at 11:34 | #1

    flash你也懂!望尘莫及!!!

  2. June 2nd, 2009 at 12:19 | #2

    呵呵,过奖,只是为了解决网友的一个问题写来跟大家分享的

  3. June 2nd, 2009 at 20:42 | #3

    博主,怎么出去url加密撒?

  4. June 2nd, 2009 at 21:05 | #4

    这个可能跟您的博客插件有关了

  1. September 23rd, 2009 at 21:07 | #1