WEB开发网
开发学院图形图像Flash [AS3]为 onCuePoint 和 onMetaData 编写回调方法 阅读

[AS3]为 onCuePoint 和 onMetaData 编写回调方法

 2012-02-06 12:14:38 来源:本站整理   
核心提示:当播放器到达特定提示点或收到特定元数据时,您可以在应用程序中触发动作,[AS3]为 onCuePoint 和 onMetaData 编写回调方法,若要触发此类动作,需使用 onCuePoint 和 onMetaData 事件处理函数,错误 #2095: flash.net.NetStream 无法调用回调 onCueP

当播放器到达特定提示点或收到特定元数据时,您可以在应用程序中触发动作。若要触发此类动作,需使用 onCuePoint 和 onMetaData 事件处理函数。必须为这些处理函数编写回调方法,否则, Flash Player 可能会引发错误。
  例如,以下代码播放 SWF 文档所在文件夹中名为 video.flv 的 FLV 文件:

var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
ns.play("video.flv");
function asyncErrorHandler(event:AsyncErrorEvent):void
{
trace(event.text);
}
var vid:Video = new Video();
vid.attachNetStream(ns);
addChild(vid);
 

上面的代码加载一个名为 video.flv 的本地 FLV 文件,并侦听要调度的 asyncError
(AsyncErrorEvent.ASYNC_ERROR)。当本机异步代码中引发异常时调度此事件。
  在本例中,当 FLV 中包含元数据或提示点信息,并且未定义相应的侦听器时调度此事件。如果您对视频文件的元数据或提示点信息不感兴趣,则可以使用上面的代码处理 asyncError 事件并忽略错误。如果 FLV 中具有元数据或多个提示点,则会输出以下信息:
错误 #2095: flash.net.NetStream 无法调用回调 onMetaData。
错误 #2095: flash.net.NetStream 无法调用回调 onCuePoint。
错误 #2095: flash.net.NetStream 无法调用回调 onCuePoint。
错误 #2095: flash.net.NetStream 无法调用回调 onCuePoint。
发生错误的原因是 NetStream 对象找不到 onMetaData 或 onCuePoint 回调方法。在应用程序中定义这些回调方法有多种方式:
  ■ 将 NetStream 对象的 client 属性设置为一个 Object
  ■ 创建自定义类并定义用于处理回调方法的方法
  ■ 扩展 NetStream 类并添加处理回调方法的方法
  ■ 扩展 NetStream 类并使其为动态类
  ■ 将 NetStream 对象的 client 属性设置为 this
 

Tags:AS onCuePoint onMetaData

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