Skip to content

Instantly share code, notes, and snippets.

@JosePedroDias
Created January 18, 2015 16:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JosePedroDias/ccf13805bf5fd4dece5c to your computer and use it in GitHub Desktop.
Save JosePedroDias/ccf13805bf5fd4dece5c to your computer and use it in GitHub Desktop.
CC receiver // source http://jsbin.com/gasidi
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CC receiver</title>
<script type="text/javascript" src="http://www.gstatic.com/cv/js/sender/v1/cast_sender.js"></script>
<style id="jsbin-css">
body {
font-family: sans-serif;
}
</style>
</head>
<body>
<h1>Chromecast receiver</h1>
<script id="jsbin-javascript">
// AUX
function log(m) {
var el = document.createElement('div');
el.appendChild( document.createTextNode( JSON.stringify(m) ) );
document.body.appendChild(el);
}
// CHROMECAST CONFIG
var APPLICATION_ID = 'D452BBEF';
var NAMESPACE = 'urn:x-cast:com.google.cast.sample.test';
// GLOBALS
var SESSION = null;
// SETUP CHROMECAST
if (!chrome.cast || !chrome.cast.isAvailable) {
setTimeout(initializeCastApi, 1000);
}
function initializeCastApi() {
var sessionRequest = new chrome.cast.SessionRequest(APPLICATION_ID);
var apiConfig = new chrome.cast.ApiConfig(
sessionRequest,
sessionListener,
receiverListener);
chrome.cast.initialize(apiConfig, onInitSuccess, onError);
}
function sessionListener(ev) {
log('New session ID:' + ev.sessionId);
SESSION = ev;
SESSION.addUpdateListener(sessionUpdateListener);
SESSION.addMessageListener(NAMESPACE, receiverMessage);
}
function receiverListener(ev) {
if (ev === 'available') {
log("receiver found");
}
else {
log("receiver list empty");
}
}
function onInitSuccess() {
log("onInitSuccess");
}
function onError(message) {
log("onError: " + JSON.stringify(message));
}
function onSuccess(message) {
log("onSuccess: " + message);
}
function sessionUpdateListener(isAlive) {
var message = isAlive ? 'Session Updated' : 'Session Removed';
message += ': ' + session.sessionId;
log(message);
if (!isAlive) {
SESSION = null;
}
}
function receiverMessage(namespace, message) {
log("receiverMessage: " + namespace + ", " + message);
}
function stopApp() {
SESSION.stop(onStopAppSuccess, onError);
}
function onStopAppSuccess() {
log('onStopAppSuccess');
}
function sendMessage(message) {
if (SESSION != null) {
SESSION.sendMessage(namespace, message, onSuccess.bind(this, "Message sent: " + message), onError);
}
else {
chrome.cast.requestSession(function(ev) {
SESSION = ev;
SESSION.sendMessage(namespace, message, onSuccess.bind(this, "Message sent: " + message), onError);
}, onError);
}
}
</script>
<script id="jsbin-source-css" type="text/css">body {
font-family: sans-serif;
}</script>
<script id="jsbin-source-javascript" type="text/javascript">// AUX
function log(m) {
var el = document.createElement('div');
el.appendChild( document.createTextNode( JSON.stringify(m) ) );
document.body.appendChild(el);
}
// CHROMECAST CONFIG
var APPLICATION_ID = 'D452BBEF';
var NAMESPACE = 'urn:x-cast:com.google.cast.sample.test';
// GLOBALS
var SESSION = null;
// SETUP CHROMECAST
if (!chrome.cast || !chrome.cast.isAvailable) {
setTimeout(initializeCastApi, 1000);
}
function initializeCastApi() {
var sessionRequest = new chrome.cast.SessionRequest(APPLICATION_ID);
var apiConfig = new chrome.cast.ApiConfig(
sessionRequest,
sessionListener,
receiverListener);
chrome.cast.initialize(apiConfig, onInitSuccess, onError);
}
function sessionListener(ev) {
log('New session ID:' + ev.sessionId);
SESSION = ev;
SESSION.addUpdateListener(sessionUpdateListener);
SESSION.addMessageListener(NAMESPACE, receiverMessage);
}
function receiverListener(ev) {
if (ev === 'available') {
log("receiver found");
}
else {
log("receiver list empty");
}
}
function onInitSuccess() {
log("onInitSuccess");
}
function onError(message) {
log("onError: " + JSON.stringify(message));
}
function onSuccess(message) {
log("onSuccess: " + message);
}
function sessionUpdateListener(isAlive) {
var message = isAlive ? 'Session Updated' : 'Session Removed';
message += ': ' + session.sessionId;
log(message);
if (!isAlive) {
SESSION = null;
}
}
function receiverMessage(namespace, message) {
log("receiverMessage: " + namespace + ", " + message);
}
function stopApp() {
SESSION.stop(onStopAppSuccess, onError);
}
function onStopAppSuccess() {
log('onStopAppSuccess');
}
function sendMessage(message) {
if (SESSION != null) {
SESSION.sendMessage(namespace, message, onSuccess.bind(this, "Message sent: " + message), onError);
}
else {
chrome.cast.requestSession(function(ev) {
SESSION = ev;
SESSION.sendMessage(namespace, message, onSuccess.bind(this, "Message sent: " + message), onError);
}, onError);
}
}
</script></body>
</html>
body {
font-family: sans-serif;
}
// AUX
function log(m) {
var el = document.createElement('div');
el.appendChild( document.createTextNode( JSON.stringify(m) ) );
document.body.appendChild(el);
}
// CHROMECAST CONFIG
var APPLICATION_ID = 'D452BBEF';
var NAMESPACE = 'urn:x-cast:com.google.cast.sample.test';
// GLOBALS
var SESSION = null;
// SETUP CHROMECAST
if (!chrome.cast || !chrome.cast.isAvailable) {
setTimeout(initializeCastApi, 1000);
}
function initializeCastApi() {
var sessionRequest = new chrome.cast.SessionRequest(APPLICATION_ID);
var apiConfig = new chrome.cast.ApiConfig(
sessionRequest,
sessionListener,
receiverListener);
chrome.cast.initialize(apiConfig, onInitSuccess, onError);
}
function sessionListener(ev) {
log('New session ID:' + ev.sessionId);
SESSION = ev;
SESSION.addUpdateListener(sessionUpdateListener);
SESSION.addMessageListener(NAMESPACE, receiverMessage);
}
function receiverListener(ev) {
if (ev === 'available') {
log("receiver found");
}
else {
log("receiver list empty");
}
}
function onInitSuccess() {
log("onInitSuccess");
}
function onError(message) {
log("onError: " + JSON.stringify(message));
}
function onSuccess(message) {
log("onSuccess: " + message);
}
function sessionUpdateListener(isAlive) {
var message = isAlive ? 'Session Updated' : 'Session Removed';
message += ': ' + session.sessionId;
log(message);
if (!isAlive) {
SESSION = null;
}
}
function receiverMessage(namespace, message) {
log("receiverMessage: " + namespace + ", " + message);
}
function stopApp() {
SESSION.stop(onStopAppSuccess, onError);
}
function onStopAppSuccess() {
log('onStopAppSuccess');
}
function sendMessage(message) {
if (SESSION != null) {
SESSION.sendMessage(namespace, message, onSuccess.bind(this, "Message sent: " + message), onError);
}
else {
chrome.cast.requestSession(function(ev) {
SESSION = ev;
SESSION.sendMessage(namespace, message, onSuccess.bind(this, "Message sent: " + message), onError);
}, onError);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment