我正在寻找一种通过 VideoDisplay(或任何其他方法)来查找实时流状态的方法。我很想知道流当前是否正在发布或发布者是否已停止。这适用于 Flex/Flash ActionScript 3 项目。
有没有办法做到这一点,或者这是 adobe 的另一个疏忽?
flex flash adobe adobe-flex actionscript
我正在寻找一种通过 VideoDisplay(或任何其他方法)来查找实时流状态的方法。我很想知道流当前是否正在发布或发布者是否已停止。这适用于 Flex/Flash ActionScript 3 项目。
有没有办法做到这一点,或者这是 adobe 的另一个疏忽?
flex flash adobe adobe-flex actionscript
我只找到了一种解决方案,那就是将 NetStream 对象与视频控件结合使用。
视频控件必须手动添加到
nsListen = new NetStream(nc);
nsListen.addEventListener(NetStatusEvent.NET_STATUS, nsListenHandler);
nsListen.play(streamname);
var v:Video = new Video();
v.attachStream(nsListen);
uicontrol.add(v);
最后在 nsListenHandler 中返回事件状态:
private function nsListenHandler(e:Event):void
{
if(e is NetStatusEvent)
{
var nse:NetStatusEvent = NetStatusEvent(e);
if(nse.info.code == "NetStream.Play.Failed")
{
// Big error.
}
if(nse.info.code == "NetStream.Play.PublishNotify")
{
// Stream has just been published
}
if(nse.info.code == "NetStream.Play.UnpublishNotify")
{
// Stream has just been unpublished
}
trace(NetStatusEvent(e).info.code);
trace(NetStatusEvent(e).info.description);
}
}
只有此代码不会告诉您流是否已成功发布。
您可以深入研究 NetStatusEvent 事件。
检查此实时文档