[AS3]as3实现视频全屏模式播放视频源代码
在浏览器中为 Flash Player 启用全屏模式
应先通过应用程序的“发布”模板启用全屏模式,然后才能在浏览器中实现 Flash Player 的全屏模式。允许全屏的模板包含 <object> 和 <embed> 标签,这些标签包含 allowFullScreen 参数。下面的示例显示了 <embed> 标签中的 allowFullScreen 参数。
- <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
- id="fullScreen" width="100%" height="100%"
- codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
- ...
- <param name="allowFullScreen" value="true" />
- <embed src="fullScreen.swf" allowFullScreen="true" quality="high" bgcolor="#869ca7"
- width="100%" height="100%" name="fullScreen" align="middle"
- play="true"
- loop="false"
- quality="high"
- allowScriptAccess="sameDomain"
- type="application/x-shockwave-flash"
- pluginspage="http://www.adobe.com/go/getflashplayer">
- </embed>
- ...
- </object>
在 Flash 中,选择“文件”->“发布设置”,然后在“发布设置”对话框中的“HTML”选项卡上,选择“仅 Flash - 允许全屏”模板。
在 Flex 中,确保 HTML 模板包含支持全屏的 <object> 和 <embed> 标签。
启动全屏模式
对于运行于浏览器中的 Flash Player 内容,可在响应鼠标单击或按键操作时为视频启动全屏模式。例如,您可以在用户单击标签为“全屏”的按钮或者从上下文菜单中选择“全屏”命令时,启动全屏模 式。若要响应用户,请将一个事件侦听器添加到发生操作的对象。下面的代码将一个事件侦听器添加到用户单击后可进入全屏模式的按钮:
- var fullScreenButton:Button = new Button();
- fullScreenButton.label = "Full Screen";
- addChild(fullScreenButton);
- fullScreenButton.addEventListener(MouseEvent.CLICK, fullScreenButtonHandler);
- function fullScreenButtonHandler(event:MouseEvent)
- {
- stage.displayState = StageDisplayState.FULL_SCREEN;
- }
代码通过将 Stage.displayState 属性设置为 StageDisplayState.FULL_SCREEN 来启动全屏模式。这段代码将整个舞台放大为全屏,同时其中的视频根据它在舞台中所占空间的比例一同放大。
fullScreenSourceRect 属性可用于指定舞台中要放大为全屏的某块特定区域。首先,定义要放大为全屏的矩形。然后将其赋给 Stage.fullScreenSourceRect 属性。此版本的 fullScreenButtonHandler() 函数添加了另外两行代码,这些代码只是将视频放大为全屏。
- private function fullScreenButtonHandler(event:MouseEvent)
- {
- var screenRectangle:Rectangle = new Rectangle(video.x, video.y, video.width, video.height);
- stage.fullScreenSourceRect = screenRectangle;
- stage.displayState = StageDisplayState.FULL_SCREEN;
- }
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例