·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]编写元数据和提示点的回调方法

时间:2011-12-20 17:14adobe.com
播放器收到特定元数据或到达特定提示点时,可以在应用程序中触发动作。当这些事件发生时,必须将特定回调方法用作事件处理函数。NetStream 类指定了在播放期间可发生的以下元数据事件

  当播放器收到特定元数据或到达特定提示点时,可以在应用程序中触发动作。当这些事件发生时,必须将特定回调方法用作事件处理函数。NetStream 类指定了在播放期间可发生的以下元数据事件:onCuePoint(仅限 FLV 文件)、onImageDataonMetaDataonPlayStatusonTextDataonXMPData

  必须为这些处理函数编写回调方法,否则,Flash Player 可能会引发错误。例如,以下代码播放 SWF 文件所在文件夹中名为 video.flv 的 FLV 文件:

  1. var nc:NetConnection = new NetConnection();   
  2. nc.connect(null);   
  3.    
  4. var ns:NetStream = new NetStream(nc);   
  5. ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);   
  6. ns.play("video.flv");   
  7. function asyncErrorHandler(event:AsyncErrorEvent):void   
  8. {   
  9.     trace(event.text);   
  10. }   
  11.    
  12. var vid:Video = new Video();   
  13. vid.attachNetStream(ns);   
  14. addChild(vid); 

  上面的代码加载一个名为 video.flv 的本地视频文件并侦听要调度的 asyncError (AsyncErrorEvent.ASYNC_ERROR)。当本机异步代码中引发异常时调度此事件。在本例中,当视频文件中包含元数据或提示点信息,并且未定义相应的侦听器时,将调度此事件。如果您对视频文件的元数据或提示点信息不感兴趣,则可以使用上面的代码处理 asyncError 事件并忽略错误。如果 FLV 中有元数据和多个提示点,则 trace() 函数将显示以下错误消息:

  1. Error #2095: flash.net.NetStream was unable to invoke callback onMetaData.   
  2. Error #2095: flash.net.NetStream was unable to invoke callback onCuePoint.   
  3. Error #2095: flash.net.NetStream was unable to invoke callback onCuePoint.   
  4. Error #2095: flash.net.NetStream was unable to invoke callback onCuePoint. 

  发生错误的原因是 NetStream 对象找不到 onMetaData 或 onCuePoint 回调方法。

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器