我正在开发一个项目,需要在从网络摄像头录制的流媒体中即时嵌入元数据。我使用 Flash Builder 4.5.1 创建了一个移动项目,使用简单的 netStream.send 函数设置所需的元数据。这个方法很好用,但是当我的 netstream 时间超过大约10秒时,该函数将不再起作用或无法嵌入到视频中。所有连接都是正确的,我可以将其记录到 Flash Media Server。
我能想到的唯一问题是我的 Flash Media Server 4 开发版负载过高,无法计算我发送的元数据。
希望有任何想法。
private function sendMetadata():void {
infotxt.text += 'called';
trace("sendMetaData() called")
myMetadata = new Object();
myMetadata.customProp = "This message is sent by @setDataFrame.";
myMetadata.customOther = cueHolder;
ns.send("@setDataFrame", "onMetaData", myMetadata);
}
以下是我的 onMetaData 函数
public function onMetaData(info:Object):void {
trace("caught");
infotxt.text = 'caught';
var key:String;
for (key in info){
outputWindow.text +=(key + ": " + info[key] + "\n");
}
//cueHolderReturn = info.customOther;
for (var i:int = 0; i < info.customOther.length; i++)
{
infotxt.text += info.customOther[i]
}
//infotxt.text = info.customOther[0];
}
ns.send("@clearDataFrame", "onMetaData");
(还要在_onMetaData_上添加对info == null
的验证)。 - bmleite