音频流在as3中重新连接

时间:2016-10-19 10:34:20

标签: actionscript-3 air flash-cs6 icecast

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

%mclosure

播放Icecast音频流。 我怎么能自动重新连接(如果互联网连接丢失等)?

非常感谢你的帮助!

此致。

2 个答案:

答案 0 :(得分:0)

查看是否有任何NetStreamInfo选项可以帮助您检测连接丢弃:

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

也许请与ns.info.dataBytesPerSecond联系,但要探索该链接信息类中其他方法的说明。使用If语句检查输入是否为零或Else(如果现在为零)运行重新连接的函数(通常为ns.stop();& ns.play( url );等。)

答案 1 :(得分:0)

非常感谢你的帮助。我找到了一个有效的解决方案,我想分享一下:

curl -X POST -H 'Content-type:application/json' --data-binary '{
  "add-field":{
     "name":"sell-by",
     "type":"tdate",
     "stored":true }
}' http://localhost:8983/solr/gettingstarted/schema

我使用以下代码创建了一个新场景“场景2”:

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;
}
}

现在,如果流(互联网或服务器连接)丢失,播放器将自动重新连接到流。

工作得很好!

非常感谢你的想法!

此致