Actionscript 3 as3中的音频流重新连接

Actionscript 3 as3中的音频流重新连接,actionscript-3,air,flash-cs6,icecast,Actionscript 3,Air,Flash Cs6,Icecast,我在使用Flash CS6创建的swf中使用以下代码: var nc:NetConnection = new NetConnection(); nc.connect(null); var ns:NetStream = new NetStream(nc); var customClient:Object = new Object(); ns.client = customClient; ns.play("http://streamserver3.us:7018/stream?type=.flv")

我在使用Flash CS6创建的swf中使用以下代码:

var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
var customClient:Object = new Object();
ns.client = customClient;
ns.play("http://streamserver3.us:7018/stream?type=.flv");
它播放Icecast音频流。 如何自动重新连接(如果internet连接中断等)


非常感谢你的帮助

真诚地。

看看这些选项是否有助于检测连接断开:

尝试使用每两秒触发一次计时器,响应函数检查是否有变化(即:传入数据量变为零)


可以使用
ns.info.dataBytesPerSecond
进行检查,但可以探索该链接信息类中其他方法的描述。使用
If
语句检查输入未变为零或
Else
(如果现在为零)运行重新连接的函数(通常执行
ns.stop();
&
ns.play(url);
等)。

非常感谢您的帮助。我找到了一个可行的解决方案,我想与大家分享:

var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
var customClient:Object = new Object();
ns.client = customClient;
ns.play("http://xxxxxxxxx/stream?type=.flv");

ns.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
function netStatusHandler(event:NetStatusEvent):void
{
switch (event.info.code)
{
case 'NetStream.Play.Stop' :
MovieClip(this.root).gotoAndPlay(1, "Scene 2");
break;
case "NetStream.Play.StreamNotFound" :
MovieClip(this.root).gotoAndPlay(1, "Scene 2");
break;
}
}
我用以下代码创建了一个新场景“场景2”:

MovieClip(this.root).gotoAndPlay(1, "Scene 1");
现在,如果流(internet或服务器连接)丢失,播放器将自动重新连接到流

工作得很好


非常感谢你的想法

问候