diff --git a/bigbluebutton-client/src/org/bigbluebutton/core/UsersUtil.as b/bigbluebutton-client/src/org/bigbluebutton/core/UsersUtil.as index ae525f4357..9afc5f087a 100644 --- a/bigbluebutton-client/src/org/bigbluebutton/core/UsersUtil.as +++ b/bigbluebutton-client/src/org/bigbluebutton/core/UsersUtil.as @@ -116,6 +116,10 @@ package org.bigbluebutton.core public static function amIModerator():Boolean { return UserManager.getInstance().getConference().amIModerator(); } + + public static function myFirstConnection():Boolean { + return UserManager.getInstance().getConference().myFirstConnection(); + } public static function amIPresenter():Boolean { return UserManager.getInstance().getConference().amIPresenter; @@ -177,6 +181,5 @@ package org.bigbluebutton.core } return null; } - } } \ No newline at end of file diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/model/users/Conference.as b/bigbluebutton-client/src/org/bigbluebutton/main/model/users/Conference.as index 884cbde0a2..8aaa52dc97 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/main/model/users/Conference.as +++ b/bigbluebutton-client/src/org/bigbluebutton/main/model/users/Conference.as @@ -35,6 +35,7 @@ package org.bigbluebutton.main.model.users { public var avatarURL:String; public var voiceBridge:String; public var dialNumber:String; + public var firstConnection:Boolean = true; [Bindable] public var record:Boolean; private static const LOG:String = "main.model.users::Conference - "; @@ -288,6 +289,13 @@ package org.bigbluebutton.main.model.users { return me.role == Role.MODERATOR; } + public function myFirstConnection():Boolean { + if (firstConnection) { + firstConnection = false; + return true; + } else return false; + } + public function muteMyVoice(mute:Boolean):void { voiceMuted = mute; } diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/FlashCallManager.as b/bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/FlashCallManager.as index 0d71b0fb9c..c248056fe4 100644 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/FlashCallManager.as +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/FlashCallManager.as @@ -97,7 +97,7 @@ * after. (richard mar 28, 2014) */ if (mic) { - if (options.skipCheck) { + if (options.skipCheck || UsersUtil.myFirstConnection()) { JSLog.debug(LOG + "Calling into voice conference. skipCheck=[" + options.skipCheck + "] echoTestDone=[" + echoTestDone + "]"); trace(LOG + "Calling into voice conference. skipCheck=[" + options.skipCheck + "] echoTestDone=[" + echoTestDone + "]"); callIntoVoiceConference(); diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/WebRTCCallManager.as b/bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/WebRTCCallManager.as index ce41e70290..b1598563fa 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/WebRTCCallManager.as +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/phone/managers/WebRTCCallManager.as @@ -127,7 +127,7 @@ package org.bigbluebutton.modules.phone.managers if (!usingWebRTC || !event.mic) return; - if (options.skipCheck || echoTestDone) { + if (options.skipCheck || echoTestDone || UsersUtil.myFirstConnection()) { joinVoiceConference(); } else { startWebRTCEchoTest(); diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/phone/views/components/ToolbarButton.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/phone/views/components/ToolbarButton.mxml index 58f369abcc..cb400fcb84 100644 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/phone/views/components/ToolbarButton.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/phone/views/components/ToolbarButton.mxml @@ -117,9 +117,10 @@ with BigBlueButton; if not, see . private function onCreationComplete():void { // when the button is added to the stage display the audio selection window if auto join is true if (phoneOptions.autoJoin) { + // Enter microphone at start if (phoneOptions.forceListenOnly) { var command:JoinVoiceConferenceCommand = new JoinVoiceConferenceCommand(); - command.mic = false; + command.mic = true; dispatcher.dispatchEvent(command); } else { trace(LOG + "Sending Show Audio Selection command");