`
ng997ng
  • 浏览: 12889 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

最近学习FLEX4/FMS4的一点小体验【二】

阅读更多

最近学习FLEX4/FMS4的一点小体验【二】
2011年02月25日
  通过两天的研究与努力,可以播放视频了,先上代码以防忘记: 
  var
  ns:NetStream = new NetStream(netConn); var pl:Video = new Video();
  ns.addEventListener(NetStatusEvent.NET_STATUS,inSt reamHandler);
  ns.play("sample"); customClient.onMetaData = function():void {};
  ns.client = customClient; pl.width =
  player.videoDisplay.width; pl.height = player.videoDisplay.height;
  pl.smoothing = true; pl.attachNetStream(ns);
  player.videoDisplay.addChild(pl);
  具体有两点心得:
  第一,在建立文件夹的时候,必须按照以下顺序:先在applications文件夹下面建立一个文件夹,自己命名就行,然后在这个文件夹下建 立一个叫streams的文件夹,然后在streams下面建立一个_definst_的文件夹,然后把所有的视频都放到_definst_文件夹下面, 这个是因为这是一个默认的路径,这个路径可以改,具体怎么改我再研究,前面一篇文章讲可以不要streams文件夹是基于连接FMS服务器的时候,有没有 无所谓,不会影响连接,但是在播放的时候,作为默认路径,这个还是要的,如果用fms_adminConsole.swf来管理的话,你新建一个房间,就 会由系统对应的自动生成这个路径。
  第二,最前面声明的那个customClient变量,是为了处理一个小小的bug的,开始的时候我写的是:
  ns.client = this;
  即客户端是本地,但是一旦运行,就会出现这样一个错误:
  Error #2044: 未处理的 AsyncErrorEvent:。 text=Error #2095: flash.net.NetStream 无法调用回调 onMetaData。 error=ReferenceError: Error #1069: 在 flash.net.NetStream 上找不到属性 onMetaData,且没有默认值。
  后来在网上请教高人以后,发现是因为没有onMetaData这个回调函数,解决的方法就是换一个客户端,自己声明一个最大的Object类的对象 customClient,然后在这个对象之下创建一个叫onMetaData的函数,就算这个函数是空的也可以,我觉得这个函数肯定有些时候可以派得上 用场的,有待研究。
  好了,今天的感想到此为止,有了新感想再写
  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics