Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

JOINED - к комнате присоединился новый участник
LEFT - участник покинул комнату
PUBLISHED - участник опубликовал видеопоток
FAILED - ошибка в коммуникации с комнатой
MESSAGE - входящее сообщение от участника внутри комнаты

Code Block
languagejsactionscript3
themeRDark
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
languagejs
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);});