Skip to content

Instantly share code, notes, and snippets.

@hbaqai
Last active December 29, 2015 14:29
Show Gist options
  • Save hbaqai/7683849 to your computer and use it in GitHub Desktop.
Save hbaqai/7683849 to your computer and use it in GitHub Desktop.
<!DOCTYPE HTML>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="http://static.opentok.com/webrtc/v2.2/js/TB.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
//environment test
console.log("environment test: " + window.location.href.indexOf("http"));
console.log("TB version: " + TB.properties.version);
//Enter your own valiues for the variables below.
//You can find these by logging into the dashboard page
//and navigating to the Projects tab: https://dashboard.tokbox.com/keys
var apiKey = 00000000;
var sessionId = "YOUR_SESSION_ID";
var tokenId = "YOUR_TOKEN_ID";
//Add TB handler and set log level
TB.on("exception", exceptionHandler);
TB.setLogLevel(TB.DEBUG);
//initialize the session, publisher
var session = TB.initSession(sessionId);
var publisher = TB.initPublisher(apiKey);
var subscriber;
//session callbacks
session.on("sessionConnected", sessionConnectedHandler);
session.on("sessionDisconnected", sessionDisconnectedHandler);
session.on("connectionCreated", connectionCreatedHandler);
session.on("connectionDestroyed", connectionDestroyedHandler);
session.on("streamCreated", streamCreatedHandler);
session.on("streamDestroyed", streamDestroyedHandler);
session.on("streamPropertyChanged", streamPropertyChangededHandler);
session.on("signal",signalHandler );
//publisher callbacks
publisher.on("accessAllowed", accessAllowedHandler);
publisher.on("accessDenied", accessDeniedHandler);
publisher.on("accessDialogClosed", accessDialogClosedHandler);
publisher.on("accessDialogOpened", accessDialogOpenedHandler);
function signalHandler(event) {
console.log("foo signal sent from connection " + event.from.id);
}
//connect to the session
session.connect(apiKey, tokenId);
console.log("connected");
//implement event handlers
function sessionConnectedHandler(event) {
console.log("sessionConnectedHandler event executed.");
session.publish(publisher);
}
function sessionDisconnectedHandler(event) {
console.log("sessionDisconnectedHandler event executed.");
}
function connectionCreatedHandler(event){
console.log("connectionCreatedHandler event executed");
}
function connectionDestroyedHandler(event){
console.log("connectionDestroyed event executed");
}
function streamCreatedHandler(event) {
console.log("streamCreatedhandler event executed.");
subscriber = session.subscribe(event.stream);
subscriber.on("videoDisabled", videoDisabledHandler);
//subscriber.restrictFrameRate(true);
}
function streamDestroyedHandler(event) {
console.log("streamCreatedHandler event executed.");
session.subscribe(event.stream);
}
function streamPropertyChangededHandler(event) {
console.log("streamPropertyChangededHandler event executed");
}
function exceptionHandler(event) {
console.log("exceptionHandler event executed: ");
console.log("event.code: " + event.code);
console.log("event.message: " + event.message);
}
//publisher callbacks
function accessAllowedHandler(event){
console.log("accessAllowedHandler");
}
function accessDeniedHandler(event){
console.log("accessDeniedHandler");
}
function accessDialogClosedHandler(event){
console.log("accessDialogClosedHandler");
}
function accessDialogOpenedHandler(event){
console.log("accessDialogOpenedHandler");
}
//QOE Signal Sent
function videoDisabledHandler(event){
console.log("QOE Signal sent - videoDisabledHandler");
}
</script>
</head>
<body>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment