[AS3]创建 Video 和 NetStream 对象并调用 Video.attachNetStrea
[AS3]创建 Video 和 NetStream 对象并调用 Video.attachNetStream()
创建 Video 和 NetStream 对象并调用 Video.attachNetStream()
和 NetStream.play()
的代码放入处理函数。仅在试图连接 NetConnection 对象成功时调用处理函数,即,当 netStatus
事件返回一个 info 对象,该对象带有一个表示成功的 code
属性时,才调用该处理函数。建议先等待连接成功,然后再调用 NetStream.play()
。
- package {
- import flash.display.Sprite;
- import flash.events.*;
- import flash.media.Video;
- import flash.net.NetConnection;
- import flash.net.NetStream;
- public class VideoExample extends Sprite {
- private var videoURL:String = "Video.flv";
- private var connection:NetConnection;
- private var stream:NetStream;
- public function VideoExample() {
- connection = new NetConnection();
- connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
- connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
- connection.connect(null);
- }
- private function netStatusHandler(event:NetStatusEvent):void {
- switch (event.info.code) {
- case "NetConnection.Connect.Success":
- connectStream();
- break;
- case "NetStream.Play.StreamNotFound":
- trace("Unable to locate video: " + videoURL);
- break;
- }
- }
- private function connectStream():void {
- stream = new NetStream(connection);
- stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
- stream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
- var video:Video = new Video();
- video.attachNetStream(stream);
- stream.play(videoURL);
- addChild(video);
- }
- private function securityErrorHandler(event:SecurityErrorEvent):void {
- trace("securityErrorHandler: " + event);
- }
- private function asyncErrorHandler(event:AsyncErrorEvent):void {
- // ignore AsyncErrorEvent events.
- }
- }
- }
热门文章推荐
- [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示例
请稍候...