...
JOINED - к комнате присоединился новый участник
LEFT - участник покинул комнату
PUBLISHED - участник опубликовал видеопоток
FAILED - ошибка в коммуникации с комнатой
MESSAGE - входящее сообщение от участника внутри комнаты
Code Block | ||||
---|---|---|---|---|
| ||||
session.join(this.roomName).on(RoomStatus.STATE, function(room:Room):void{ var participants:Array = room.getParticipants(); setInviteAddress(room); if (participants.length > 0) { var chatState:String = "participants: "; for (var i:Number = 0; i < participants.length; i++) { installParticipant(participants[i]); chatState += participants[i].getName(); if (i != participants.length - 1) { chatState += ","; } } addMessage("chat", chatState); } else { addMessage("chat", " room is empty"); } publishLocalMedia(room); onJoined(room); }).on(RoomStatus.JOINED, function(participant:Participant):void{ installParticipant(participant); addMessage(participant.getName(), "joined"); }).on(RoomStatus.LEFT, function(participant:Participant):void{ removeParticipant(); addMessage(participant.getName(), "left"); }).on(RoomStatus.PUBLISHED, function(participant:Participant):void{ playParticipantsStream(participant); }).on(RoomStatus.FAILED, function(room:Room, info:Object):void{ failedInfo.text = info.info; session.disconnect(); }).on(RoomStatus.MESSAGE, function(message:Object):void{ addMessage(message.from.getName(), message.text); }); |
...
Code Block | ||
---|---|---|
| ||
private function playParticipantsStream(p:Participant):void { var stream:NetStream = p.play(); if (stream != null) { remoteDisplay.attachNetStream(stream); stream.addEventListener(NetStatusEvent.NET_STATUS, function(event:NetStatusEvent):void{ Logger.info("handlePlayStreamStatus: "+event.info.code); switch (event.info.code) { case "NetStream.Video.DimensionChange": var res:Object = downScaleToFitSize(remoteDisplay.videoWidth, remoteDisplay.videoHeight, display.width, display.height); remoteDisplay.width = res.w; remoteDisplay.height = res.h; remoteDisplayHolder.width = res.w; remoteDisplayHolder.height = res.h; break; case "NetStream.Play.UnpublishNotify": case "NetStream.Play.Stop": remoteDisplay.clear(); break; } }); } } |
session.join(this.roomName).on(RoomStatus.STATE, function(room:Room):void{ var participants:Array = room.getParticipants();setInviteAddress(room);if (participants.length > 0) { var chatState:String = "participants: "; for (var i:Number = 0; i < participants.length; i++) { installParticipant(participants[i]); chatState += participants[i].getName(); if (i != participants.length - 1) { chatState += ","; } } addMessage("chat", chatState);} else { addMessage("chat", " room is empty");}publishLocalMedia(room);onJoined(room);}).on(RoomStatus.JOINED, function(participant:Participant):void{ installParticipant(participant);addMessage(participant.getName(), "joined");}).on(RoomStatus.LEFT, function(participant:Participant):void{ removeParticipant();addMessage(participant.getName(), "left");}).on(RoomStatus.PUBLISHED, function(participant:Participant):void{ playParticipantsStream(participant);}).on(RoomStatus.FAILED, function(room:Room, info:Object):void{ failedInfo.text = info.info;session.disconnect();}).on(RoomStatus.MESSAGE, function(message:Object):void{ addMessage(message.from.getName(), message.text);});