Tout d'abord, le principal : comment se connecter au serveur FMS2

connection = new NetConnection();//on créé un objet NetConnection
connection.objectEncoding = 0;
connection.addEventListener(NetStatusEvent.NET_STATUS, ConnectionStatusHandler);//on rajoute un écouteur pour la connexion
connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);//on rajoute un écouteur pour les erreurs	
connection.connect("rtmp://192.168.1.10/test/");//on se connecte
 
public function ConnectionStatusHandler(event:NetStatusEvent):void {
		
	switch (event.info.code) {
        case "NetConnection.Connect.Success":
        //la connexion a réussi
        break;
        case "NetConnection.Connect.Closed":
        //la connexion s'est fermée
        break;
        case "NetConnection.Connect.Rejected":
        //la connexion a été refusée
        break;
        case "NetConnection.Connect.Failed":
        //la connexion a échoué
        break;
      
        }
}
 
private function securityErrorHandler(event:SecurityErrorEvent):void {
	trace("securityErrorHandler: " + event);
}

Une fois connectés, nous pouvons lancer un flux :

stream = new NetStream(connection);//on créé l'objet stream
stream.addEventListener(NetStatusEvent.NET_STATUS, streamStatusHandler);//on rajoute un écouteur pour le flux
 
 
//on créé ensuite les éléments qui recevront la vidéo
 
public var videoHolder:UIComponent = new UIComponent();
public var videoBitmap:Bitmap = new Bitmap();
 
video = new Video(320,240);
videoBitmap.bitmapData = new BitmapData(320,240,true, 0x00000000);
videoBitmap.bitmapData.draw(video);
	
videoHolder.addChild(videoBitmap);
addChild(videoHolder);
	
video.clear();
video.attachNetStream(stream);//on attache le flux à notre objet video
stream.play("le_flux_à_lire");//on lance la lecture
  				
 
public function streamStatusHandler(event:NetStatusEvent):void {
	switch (event.info.code) {
        case "NetStream.Play.StreamNotFound":
        //flux inexistant
        break;
        case "NetStream.Play.Start":
        //la lecture du flux a démarré
        break;
        case "NetStream.Play.Reset":
        //un autre flux a été demandé
        break;
        case "NetStream.Play.Stop":
        //le flux a été stoppé
        break;
        case "NetStream.Seek.Notify":
        //la lecture à un endroit précis du flux à été demandée
        break;
        case "NetStream.Play.UnpublishNotify";
        //un flux vient d'être "dépublié"
        break
        case "NetStream.Play.PublishNotify":
        //un flux vient d'être "publié"
        break  
 
     }
}

Voila...Nous pouvons maintenant lancer la lecture de n'importe quel média. Mais quand est il de la publication de flux en live. Ce sera l'objet de la partie 2 que je posterai demain.