187 lines
6.7 KiB
HTML
Executable File
187 lines
6.7 KiB
HTML
Executable File
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
|
<head>
|
|
<title></title>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
<style type="text/css" media="screen">
|
|
html, body, #content { height:100%; }
|
|
body { margin:0; padding:0; overflow:hidden; }
|
|
#altContent { /* style alt content */ }
|
|
.visually-hidden {
|
|
position: absolute !important;
|
|
clip: rect(1px 1px, 1px, 1px);
|
|
clip: rect(1px, 1px, 1px, 1px);
|
|
padding: 0 !important;
|
|
border: 0 !important;
|
|
height: 1px !important;
|
|
width: 1px !important;
|
|
overflow: hidden;
|
|
}
|
|
</style>
|
|
|
|
<script type="text/javascript" src="swfobject/swfobject.js"></script>
|
|
<script type="text/javascript">
|
|
//swfobject.registerObject("BigBlueButton", "11", "expressInstall.swf");
|
|
var flashvars = {};
|
|
var params = {};
|
|
params.quality = "high";
|
|
params.bgcolor = "#869ca7";
|
|
params.allowfullscreen = "true";
|
|
params.wmode = "window";
|
|
params.allowscriptaccess = "true";
|
|
params.seamlesstabbing = "true";
|
|
var attributes = {};
|
|
attributes.id = "BigBlueButton";
|
|
attributes.name = "BigBlueButton";
|
|
attributes.align = "middle";
|
|
attributes.tabIndex = 0;
|
|
swfobject.embedSWF("BigBlueButton.swf?v=VERSION", "altFlash", "100%", "100%", "11.0.0", "expressInstall.swf", flashvars, params, attributes);
|
|
</script>
|
|
<script src="lib/jquery-1.5.1.min.js" language="javascript"></script>
|
|
<script src="lib/bigbluebutton.js" language="javascript"></script>
|
|
<script src="lib/bbb_localization.js" language="javascript"></script>
|
|
<script src="lib/bbb_blinker.js" language="javascript"></script>
|
|
<script src="lib/bbb_deskshare.js" language="javascript"></script>
|
|
<script src="lib/bbb_api_bridge.js" language="javascript"></script>
|
|
<script src="lib/jssip-devel.js" language="javascript"></script>
|
|
<script src="lib/bbb_webrtc_bridge_jssip.js" language="javascript"></script>
|
|
<!-- <script src="lib/sipml5api.js" language="javascript"></script> -->
|
|
<!-- <script src="lib/bbb_webrtc_bridge_sipml5.js" language="javascript"></script> -->
|
|
<script>
|
|
window.chatLinkClicked = function(url) {
|
|
window.open(url, '_blank');
|
|
window.focus();
|
|
}
|
|
</script>
|
|
</head>
|
|
|
|
<body>
|
|
<div>
|
|
<!-- <button onclick="hangUp()">Hang up</button>
|
|
<button onclick="callIntoConference()">Call</button>-->
|
|
<audio id="audio-remote" autoplay="autoplay" />
|
|
|
|
<audio id="local-media" autoplay="autoplay" />
|
|
<audio id="remote-media" autoplay="autoplay" />
|
|
</div>
|
|
|
|
<div id="content">
|
|
<div id="altFlash">
|
|
<a href="http://www.adobe.com/go/getflashplayer">
|
|
<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<button id="enterFlash" type="button" class="visually-hidden" onclick="startFlashFocus();" value="Click to focus the client"/>
|
|
<div id="notifications" aria-live="polite" role="region" aria-label="Chat Notifications"></div>
|
|
</body>
|
|
|
|
<script type="text/javascript">
|
|
// Work around pixel alignment bug with Chrome 21 on Mac.
|
|
// See: http://code.google.com/p/bigbluebutton/issues/detail?id=1294
|
|
var objs = $('object');
|
|
objs.each(function(i, o) {
|
|
var o = $(o);
|
|
var top = o.offset().top;
|
|
var left = o.offset().left;
|
|
var roundtop = Math.round(top);
|
|
var roundleft = Math.round(left);
|
|
o.css("position", "relative");
|
|
if (roundtop === top) {
|
|
} else {
|
|
o.css("top", roundtop - top);
|
|
}
|
|
if (roundleft === left) {
|
|
} else {
|
|
o.css("left", roundleft - left);
|
|
}
|
|
});
|
|
</script>
|
|
</html>
|
|
|
|
<script type="text/javascript">
|
|
|
|
var fsServer = null;
|
|
|
|
var callIntoConference = function(destination, callback) {
|
|
if (!isWebrtcCapable()) {
|
|
callback("Browser version not supported");
|
|
return;
|
|
}
|
|
|
|
BBB.getMyUserInfo(function(userInfo) {
|
|
console.log("User info callback [myUserID=" + userInfo.myUserID
|
|
+ ",myUsername=" + userInfo.myUsername + ",myAvatarURL=" + userInfo.myAvatarURL
|
|
+ ",myRole=" + userInfo.myRole + ",amIPresenter=" + userInfo.amIPresenter
|
|
+ ",dialNumber=" + userInfo.dialNumber + ",voiceBridge=" + userInfo.voiceBridge + "].");
|
|
var callerIdName = userInfo.myUserID + "-bbbID-" + userInfo.myUsername;
|
|
|
|
// setup a timer to call the error callback
|
|
var checkSuccessCallback = function(e) {
|
|
if (e.userID == userInfo.myUserID) {
|
|
console.info("Received the event from Flash that I've joined the voice conference");
|
|
BBB.unlisten('UserJoinedVoiceEvent', checkSuccessCallback);
|
|
}
|
|
}
|
|
|
|
BBB.listen('UserJoinedVoiceEvent', checkSuccessCallback);
|
|
console.log(callerIdName);
|
|
webrtc_call(callerIdName, userInfo.voiceBridge, fsServer, callback);
|
|
});
|
|
}
|
|
|
|
var joinWebRtcVoiceConference = function(destination) {
|
|
console.log("Joining to the voice conference");
|
|
var callback = function(message) {
|
|
if (message.status == 'failed') {
|
|
BBB.webRtcConferenceCallFailed(message.cause);
|
|
} else if (message.status == 'ended') {
|
|
BBB.webRtcConferenceCallEnded(message.cause);
|
|
} else if (message.status = 'started') {
|
|
BBB.webRtcConferenceCallStarted(message.localStream, message.remoteStream);
|
|
}
|
|
}
|
|
|
|
callIntoConference(destination, callback);
|
|
}
|
|
|
|
var leaveWebRtcVoiceConference = function() {
|
|
console.log("Leaving the voice conference");
|
|
var callback = function(err) {
|
|
if (err) {
|
|
console.info("Failed to hang up: " + err);
|
|
} else {
|
|
console.info("Success to hang up");
|
|
}
|
|
BBB.leaveWebRTCVoiceConferenceCallback(err);
|
|
}
|
|
|
|
webrtc_hangup(callback);
|
|
}
|
|
|
|
var startWebrtcAudioTest = function(){
|
|
console.log("Testing webrtc audio");
|
|
var callback = function(message) {
|
|
if (message.status == 'failed') {
|
|
BBB.webRtcEchoTestFailed(message.cause);
|
|
} else if (message.status == 'ended') {
|
|
BBB.webRtcEchoTestEnded(message.cause);
|
|
} else if (message.status = 'started') {
|
|
BBB.webRtcEchoTestStarted(message.localStream, message.remoteStream);
|
|
}
|
|
}
|
|
|
|
webrtc_call("tester", "9196", fsServer, callback);
|
|
}
|
|
|
|
var stopWebrtcAudioTest = function(){
|
|
console.log("Stopping webrtc audio test");
|
|
webrtc_hangup(function(){
|
|
console.log("Webrtc audio test stopped");
|
|
});
|
|
}
|
|
|
|
|
|
</script>
|
|
|