2010-11-20 4 views
1

私は単純なビデオ/チャットアプリケーションをFLEXで構築しています。私はさまざまな機能のためにgroupSpecifier、netGroup、NetStreamを作成しました。groupSpecifierがハンドラを送信しないnetStream、FLEX

NetGroupは、主にメッセージング(投稿)および入力したユーザーの追跡に使用されます。

NetStreamは、同じグループの下にいる誰もが「ビデオを開始し、ビデオを停止」などの機能を制御する(または使用する)

私がここに掲載する最も重要な機能。最初は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); 
} 

第二は、私がメンバーの残りのために呼び出されます願っています「publishVideo」と呼ばれる別の機能がありますの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 = ""; 
} 

そしてstartVideo

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

ですしかし、これは起こっていません。このコードのほとんどは、トムがhttp://www.flashrealtime.comから提供した例からまっすぐです。どんな助け/提案も感謝されるでしょう!

p.s.私は待ち時間のためにグループオブジェクトの複製を使用していません。

答えて

0

回答は簡単です。あなたがして、ビデオを開始する必要があり

netVideo.publish("channel"); 

NetStream.send()は、レシーバNetStream.clientオブジェクトにコールバックメソッドを呼び出すためのものです。

http://www.flashrealtime.com/multicast-explained-flash-101-p2p/

関連する問題