WEB开发网
开发学院图形图像Flash [AS3]编写元数据和提示点的回调方法 阅读

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

 2012-02-06 12:15:53 来源:本站整理   
核心提示:当播放器收到特定元数据或到达特定提示点时,可以在应用程序中触发动作,[AS3]编写元数据和提示点的回调方法,当这些事件发生时,必须将特定回调方法用作事件处理函数,则可以使用上面的代码处理 asyncError 事件并忽略错误,如果 FLV 中有元数据和多个提示点,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 回调方法。

Tags:AS 编写 数据

编辑录入:coldstar [复制链接] [打 印]
赞助商链接