2010-11-20 19 views
1

J'ai une simple application vidéo/chat intégrée dans FLEX. J'ai créé un groupSpecifier, netGroup et un NetStream pour les différentes fonctionnalités.netStream avec groupSpecifier n'envoie pas de gestionnaire, FLEX

NetGroup est principalement utilisé pour la messagerie (Posting) et le suivi des utilisateurs qui entrent.

NetStream est (ou serait utilisé) pour contrôler certaines fonctions telles que "démarrer la vidéo, arrêter la vidéo" pour tout le monde dans le même groupe.

Les fonctions les plus importantes que je vais publier ici. Le premier est setupGroup.

private function setupGroup():void{ 
    var groupspec:GroupSpecifier = new GroupSpecifier("vid"+GROUP_ID+"_sid_"+SESSION_ID); 
    groupspec.serverChannelEnabled = true; 
    groupspec.postingEnabled = true; 
    groupspec.multicastEnabled = true; 
    groupspec.ipMulticastMemberUpdatesEnabled = true; 

    trace("Groupspec: "+groupspec.groupspecWithoutAuthorizations()); 

    netGroup = new NetGroup(nc,groupspec.groupspecWithoutAuthorizations()); 
    netGroup.addEventListener(NetStatusEvent.NET_STATUS,netStatus); 

    netVideo = new NetStream(nc,groupspec.groupspecWithoutAuthorizations()); 
    netVideo.addEventListener(NetStatusEvent.NET_STATUS,netStatus); 

    user = "user"+Math.round(Math.random()*10000); 
} 

Le second est sendMessage

private function sendMessage():void{ 

    var message:Object = new Object(); 
    message.sender = netGroup.convertPeerIDToGroupAddress(nc.nearID); 
    message.user = txtUser.text; 
    message.text = txtMessage.text; 

    netGroup.post(message); 
    receiveMessage(message); 

    txtMessage.text = ""; 
} 

Et puis startVideo

private function startVideo():void{ 
    netVideo.send("publishVideo"); 
    ns.togglePause(); 
} 

Il y a une autre fonction appelée "publishVideo" que j'espère que l'on appellerait pour le reste des membres du groupe, mais ce n'est pas le cas. La plupart de ce code est directement à partir de l'exemple fourni par Tom à partir de http://www.flashrealtime.com. Toute aide/suggestion serait appréciée!

p.s. Je n'utilise pas la réplication d'objet de groupe en raison de la latence.

Répondre