У меня есть простое приложение для видео / чата, встроенное в FLEX.Я создал groupSpecifier, netGroup и NetStream для различных функций.
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);
}
Второй - 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();
}
Есть еще одна функция, которая называется publishVideo, и я надеюсь,будет призван для остальных членов группы, но этого не происходит.Большая часть этого кода взята из примера, который Том предоставил из http://www.flashrealtime.com. Буду признателен за любую помощь / предложения!
ps Я не использую репликацию объектов группы из-за задержки.