client指定对其调用回调方法以处理流或 FLV 文件数据的对象。默认对象为 this,将创建 NetStream 对象。如果将 client 属性设置为另一个对象,则将对该对象调用回调方法。NetStream.client 对象可以调用以下函数并接收关联的数据对象:onCuePoint()、onImageData()、onMetaData()、onPlayStatus()、onTextData() 和 onXMPData()。
例 :
代码var video:Video = new Video();
this.addChild(video);
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
ns.addEventListener(NetStatusEvent.NET_STATUS, netStatus_ns);
function netStatus_ns(obj:Object):void
{
trace(obj.info.code);
/*结果:
NetStream.Buffer.Empty
NetStream.Buffer.Full*/
}
ns.play("ffTrailer.flv");
var meta:Object = new Object();
meta.onMetaData = function(meta:Object)
{
for (var i:String in meta)
{
trace("meta 属性" + i +": 值" + meta[i]);
/*结果:
meta 属性height: 值240
meta 属性canSeekToEnd: 值true
meta 属性audiodatarate: 值96
meta 属性width: 值320
meta 属性audiodelay: 值0.038
meta 属性duration: 值44.251
meta 属性videodatarate: 值700
meta 属性framerate: 值29.939987182617188
meta 属性videocodecid: 值4
meta 属性audiocodecid: 值2*/
}
}
ns.client = meta;
video.attachNetStream(ns);
this.addChild(video);
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
ns.addEventListener(NetStatusEvent.NET_STATUS, netStatus_ns);
function netStatus_ns(obj:Object):void
{
trace(obj.info.code);
/*结果:
NetStream.Buffer.Empty
NetStream.Buffer.Full*/
}
ns.play("ffTrailer.flv");
var meta:Object = new Object();
meta.onMetaData = function(meta:Object)
{
for (var i:String in meta)
{
trace("meta 属性" + i +": 值" + meta[i]);
/*结果:
meta 属性height: 值240
meta 属性canSeekToEnd: 值true
meta 属性audiodatarate: 值96
meta 属性width: 值320
meta 属性audiodelay: 值0.038
meta 属性duration: 值44.251
meta 属性videodatarate: 值700
meta 属性framerate: 值29.939987182617188
meta 属性videocodecid: 值4
meta 属性audiocodecid: 值2*/
}
}
ns.client = meta;
video.attachNetStream(ns);

浙公网安备 33010602011771号