Flash 使用AS3视频对象(非组件)检测NetStream事件

Flash 使用AS3视频对象(非组件)检测NetStream事件,flash,actionscript-3,flv,flvplayback,Flash,Actionscript 3,Flv,Flvplayback,我已经使用AS3 flash.media.video对象(不是FLV播放组件)创建了一个FLV视频播放器,我正在尝试收听FLV视频中嵌入的元事件和提示点,但在跟踪电影时,我没有收到任何提示点。提示点不是动态创建的,而是在FLV视频中 视频嵌入代码: // Initialize net stream nc = new NetConnection(); nc.connect (null); // Not using a media server. ns = new NetStream(nc)

我已经使用AS3 flash.media.video对象(不是FLV播放组件)创建了一个FLV视频播放器,我正在尝试收听FLV视频中嵌入的元事件和提示点,但在跟踪电影时,我没有收到任何提示点。提示点不是动态创建的,而是在FLV视频中

视频嵌入代码:

    // Initialize net stream
nc = new NetConnection();
nc.connect (null); // Not using a media server.
ns = new NetStream(nc);
// Add video to stage
vid = new Video(456,675);
addChild (vid);
// Add callback method for listening on
// NetStream meta data
client = new Object();
ns.client = client;
client.onMetaData = this.nsMetaDataCallback;
client.onCuePoint = this.onCuePoint; 
// Play video
vid.attachNetStream ( ns );
ns.play ("flv/00_010.flv");
与上述代码在同一类中的回调处理程序:

public function onCuePoint(info:Object):void { 
trace("cuePoint: time = " + info.time + " name = " + info.name + " type = " + info.type); 
if (ns) ns.pause();
}

public function nsMetaDataCallback (mdata:Object):void {
trace (mdata.duration);
}

从我的网络流中捕获事件是否有错误?这与我的工作代码几乎完全相同。我唯一能想到的就是视频对象本身的创建。我已经将我的声明声明为类本身的一个属性,尽管我真的不明白为什么在函数调用中有声明会很重要,因为它仍然被添加到stage中

我相信你看到视频了,好吗

一个相当愚蠢的猜测是,如果attachNetStream调用对NetStream执行某些操作,则尝试切换客户端分配和attachNetStream调用

vid.attachNetStream ( ns )
ns.client = client;
client.onMetaData = this.nsMetaDataCallback;
client.onCuePoint = this.onCuePoint;

我觉得您的代码还可以,但是
flv
文件本身可能有一些问题。尝试使用其他文件。