如何用flash创建全屏播放影片

原文转自: http://madinsect.blogbus.com/logs/5348031.html

这段时间在做flash开发,遇到全屏播放的问题。找遍了国内大小网站都没找到相应解决方法,最后只好求助于google(en),在一个名为Julian Pscheid的外国友人的blog上找到这篇文章,故翻译过来为国人享用。

【原文地址】Julian Pscheid

http://julian.empiregn.com/2007/2/22/How-to-create-true-fullscreen-movies-with-Flash

【译文如下】Tom.Y

Flash Player 9.0.28版本是第一个支持真正意义全屏播放的flash player版本,不幸的是这完美的特性在Flash 9出来之前都没有得到完全的支持,不过只需要细微的修改,您就可以在Flash 8上使用这个特性了。下面简单的指南将帮助您用Flash8实现正真的全屏。

在开始之前,请确定您正在使用的flash player是最新的9.0.28版,先前版本的Flash Player 9 (9,0,16,0 &9,0,20,0)还不支持这一特性。你需要升级至9.0.28.0, 他也是第一个可以在Vista上运行的版本。

这一性特性的关键之处在于使用到ActionScriptSatge对象的一个新属性'displayState',这一属性有两个值:

'fullScreen': 设置舞台全屏播放。

'normal': 默认值。

在您开始使用该属性之前,您还需要在您的Flash 8的安装文件中做一些修改,在你的安装环境下找到下列文件

Flash 8\en\First Run\Classes\FP8\Stage.as

打开文件,把这条语句加进去:static var displayState:String;如下所示:

intrinsic class Stage

{

static var displayState:String;

static var align:String;

static var height:Number;

static var scaleMode:String;

static var showMenu:Boolean;

static var width:Number;

 

static function addListener(listener:Object):Void;

static function removeListener(listener:Object):Boolean;

}

现在你可以在flash中设置displayState这个属性的值了。出于安全考虑,flash之允许displayState这个属性在与用户交互的过程中被设置,意思就是:你不能让影片一全屏模式打开。你需要添加一个按钮或其他元件来捕获用户的操作以便把影片切换至全屏状态。在我的例子里,我就简单的创建了一个按钮。

toggle_btn.onRelease = function(){

  if(Stage.displayState  == "fullScreen"){

    Stage.displayState  = "normal";

  }

  else{

    Stage.displayState  = "fullScreen"

  }

}

If you want to detect that fullscreen mode has been entered or exited, you can use a new event listener function, onFullScreen:

如果你想要获取全屏模式是否被激活或者退出,你可以使用一个新的事件监听程序,onFullScreen:

EventListener = new Object;

EventListener.onFullScreen = function( bFull:Boolean ){

  // change  to fullscreen mode has been detected

  if(bFull){

    v_mc.vtxt  = "You are in Full Screen Mode";

  }

  else{

    v_mc.vtxt  = "Everything is back to normal";

  }

}

Stage.addListener( EventListener );

最后还有一个需要注意的地方,另一个安全的限制需要在EMBED标签中添加一个型的属性“allowFullScreen”,你要设置他为true:

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"

codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"

width="320" height="240" id="fullscreen_flash" align="middle">

  <param name="movie" value="fullscreen_flash.swf" />

  <param name="quality" value="high" />

  <param name="allowFullScreen" value="true" />

  <param name="bgcolor" value="#ffffff" />

  <embed src="fullscreen_flash.swf" allowfullscreen="true" quality="high"

  bgcolor="#ffffff" width="320" height="240" name="fullscreen_flash" align="middle"

  type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />

</object>

Update: UFO does support the new attribute in version 3.21. Be sure to use the set the lowercase variable allowfullscreen:"true". SWFObject also supports it via so.addParam("allowFullScreen", "true").

点击下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卷边书_王诣

您的鼓励,是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值