2016-10-13 00:16:48 点击量:11 标签: 收藏本文
在应用程序初始化过程中设置 StageVideoAvailabilityEvent 和 VideoEvent 侦听器。例如,可以在 flash.events.Event.ADDED_TO_STAGE 事件处理函数中初始化这些侦听器。此事件可保证您的应用程序在舞台上可见;
- public class SimpleStageVideo extends Sprite
- private var nc:NetConnection;
- private var ns:NetStream;
- public function SimpleStageVideo()
- {
- // Constructor for SimpleStageVideo class
- // Make sure the app is visible and stage available
- addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
- }
- private function onAddedToStage(event:Event):void
- {
- //...
- // Connections
- nc = new NetConnection();
- nc.connect(null);
- ns = new NetStream(nc);
- ns.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);
- ns.client = this;
- // Screen
- video = new Video();
- video.smoothing = true;
- // Video Events
- // the StageVideoEvent.STAGE_VIDEO_STATE informs you whether
- // StageVideo is available
- stage.addEventListener(StageVideoAvailabilityEvent.STAGE_VIDEO_AVAILABILITY,
- onStageVideoState);
- // in case of fallback to Video, listen to the VideoEvent.RENDER_STATE
- // event to handle resize properly and know about the acceleration mode running
- video.addEventListener(VideoEvent.RENDER_STATE, videoStateChange);
- //...
- }
在 StageVideoAvailabilityEvent.STAGE_VIDEO_AVAILABILITY 处理函数中,根据 StageVideo 的可用性确定是使用 Video 对象还是使用 StageVideo 对象。如果 StageVideoAvailabilityEvent.availability 属性设置为 StageVideoAvailability.AVAILABLE,则使用 StageVideo。在这种情况下,可依赖于 Stage.stageVideos 矢量来包含一个或多个 StageVideo 对象。从 Stage.stageVideos 属性获取 StageVideo 对象,并将 NetStream 对象附加到它。由于 StageVideo 对象始终显示在背景中,因此需删除所有现有的 Video 对象(始终位于前景中)。还可以使用此事件处理函数添加 StageVideoEvent.RENDER_STATE 事件的侦听器。
如果 StageVideoAvailabilityEvent.availability 属性设置为 StageVideoAvailability.UNAVAILABLE,请勿使用 StageVideo 或访问 Stage.stageVideos 矢量。在这种情况下,请将 NetStream 对象附加到 Video 对象。最后,请将 StageVideo 或 Video 对象添加到舞台,并调用 NetStream.play()。
我们是一家提供综合软件外包与弱电工程服务的技术公司。
业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。
公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室