2016-10-19 2 views
-1

J'utilise le code suivant dans un fichier SWF créé avec Flash CS6:flux audio reconnecte en AS3

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"); 

Il joue un streaming audio Icecast. Comment puis-je faire pour me reconnecter automatiquement (si la connexion Internet tombe, etc.)?

Merci beaucoup pour votre aide!

Sincèrement.

Répondre

0

Voir si l'une de ces NetStreamInfo options peuvent vous aider à détecter une chute de connexion:

Essayez d'utiliser une minuterie qui déclenche à chaque deux secondes où la fonction vérifie la réponse en cas il y a eu un changement (ex: montant de entrant les données sont devenues nulles).

Peut-être vérifier avec ns.info.dataBytesPerSecond mais explorer les descriptions d'autres méthodes dans cette classe Info liée. Utilisez une instruction If pour vérifier que l'entrée n'est pas devenue zéro ou Else (si maintenant zéro) exécutez votre fonction qui se reconnecte (habituellement ns.stop(); & ns.play(url); etc.).

0

Merci beaucoup pour votre aide. J'ai trouvé une solution qui fonctionne et je voudrais partager:

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

J'ai créé une nouvelle scène « Scene 2 » avec le code suivant:

MovieClip(this.root).gotoAndPlay(1, "Scene 1"); 

Maintenant, si le flux (Internet ou connexion au serveur) est perdue, le lecteur se reconnectera automatiquement au flux.

Fonctionne bien!

Merci beaucoup pour vos idées!

Cordialement