Table of Contents [Hide/Show]
Embedding the Player Customizing playback Methods Event handling speakerResource topicResource event Using Chat Advanced Sample: Topics Menu Advanced Sample: NOSCRIPT support
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Player SDK Sample Application</title> </head> <body> <div id="playerContainer" style="width:640px;height:360px;"></div> </body> </html> < script type="text/javascript" src="//sdk.companywebcast.com/sdk/player/client.js"></script> < script type="text/javascript"> var cwcPlayer = cwc.sdk.player.client.createPlayer({ id: 'customer/code' }); document.getElementById("playerContainer").appendChild(cwcPlayer.element); </script>
< script type="text/javascript"> var cwcPlayer = cwc.sdk.player.client.createPlayer({ id: 'customer/code', start: 5000, offsets: [2016-08-25T19:14:58.285Z, 2016-08-25T20:07:16.705Z], display: 1 | 2 | 64 //display home and topics buttons, and controls. hide all other functionality }); </script>
< script type="text/javascript"> //Jump to the 5 second position cwcPlayer.seek({ timestamp: 5000 }); //Jump to whichever position maps to March 1st, 2007 at 13:00 UTC. cwcPlayer.seek({ walltime: '2007-03-01T13:00:00Z' }); </script>
< script type="text/javascript"> cwcPlayer.on('resource:create', function (resourceCreateEvent) { }); cwcPlayer.on('resource.state:change', function (resourceChangeEvent) { }); cwcPlayer.on('event:create', function (eventCreateEvent) { }); </script>
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Player SDK Sample Application</title> </head> <body> <div id="playerContainer" style="width:640px;height:360px;"></div> <div id="chatContainer" style="display:none;width:640px;height:360px;"></div> </body> </html> < script type="text/javascript" src="//sdk.companywebcast.com/sdk/player/client.js"></script> < script type="text/javascript"> var playerContainer = document.getElementById("playerContainer"), chatContainer = document.getElementById("chatContainer"); var cwcPlayer = cwc.sdk.player.client.createPlayer({ id: 'customer/code' }); cwcPlayer.on('chat:ready', function () { chatContainer.style.display = 'block'; }); var chatElement = cwcPlayer.createChat(); playerContainer.appendChild(cwcPlayer.element); chatContainer.appendChild(chatElement); </script>
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Player SDK Sample Application</title> </head> <body> <div id="playerContainer" style="width:640px;height:360px;"></div> <div id="topicsContainer"></div> </body> </html> < script type="text/javascript" src="//sdk.companywebcast.com/sdk/player/client.js"></script> < script type="text/javascript"> var playerContainer = document.getElementById("playerContainer"); var topicsContainer = document.getElementById("topicsContainer"); var cwcPlayer = cwc.sdk.player.client.createPlayer({ id: 'customer/code' }); var topicResources = {}; cwcPlayer.on('info:create', function (info) { console.log(info); }); cwcPlayer.on('resource:create', function (e) { if (e.resource.type == "topic") { var model = getModel(e.resource.id); model.resource = e.resource; model.div.appendChild(document.createTextNode(e.resource.label)); for (var i = 0, length = topicsContainer.children.length; i < length; i++) { var div = topicsContainer.children[i]; if (div.model.resource.order > e.resource.order) { topicsContainer.insertBefore(model.div, div); return; } } topicsContainer.appendChild(model.div); } }); cwcPlayer.on('resource.state:change', function (e) { if (e.resource.type == "topic") { getModel(e.resource.id).div.style.backgroundColor = e.isActive ? 'red' : 'white'; } }); cwcPlayer.on('event:create', function (e) { if (e.event.target && e.event.intent == "topics.topic:activate") { var model = getModel(e.event.resourceId); var option = document.createElement('OPTION'); option.text = msToTime(e.event.timestamp); option.value = e.event.timestamp; model.select.options.add(option, 1); model.select.disabled = false; } }); playerContainer.appendChild(cwcPlayer.element); function msToTime(duration) { var milliseconds = parseInt((duration % 1000) / 100) , seconds = parseInt((duration / 1000) % 60) , minutes = parseInt((duration / (1000 * 60)) % 60) , hours = parseInt((duration / (1000 * 60 * 60)) % 24); hours = (hours < 10) ? "0" + hours : hours; minutes = (minutes < 10) ? "0" + minutes : minutes; seconds = (seconds < 10) ? "0" + seconds : seconds; return hours + ":" + minutes + ":" + seconds; } function getModel(id) { var model = topicResources[id]; if (!model) { var div = document.createElement("DIV"); var select = createSelect(id); div.id = id; div.appendChild(select); model = { div: div, select: select, isActive: false } div.model = model; topicResources[id] = model; } return model; } function createSelect(id) { var select = document.createElement("SELECT"); var option = document.createElement("OPTION"); select.topicResourceUri = id; select.disabled = true; option.text = "Play"; select.options.add(option, 1); select.addEventListener('change', function () { cwcPlayer.seek({ timestamp: parseInt(select.value) }); select.selectedIndex = 0; }); return select; } </script>
<!DOCTYPE html> <html> <head> <title></title> </head> <body> <iframe id="iframe" src="https://sdk.companywebcast.com/sdk/player/?id=Customer_Code&offsets=2016-08-25T19:14:58.285Z,2016-08-25T20:07:16.705Z" width="1280" height="720" frameborder="0" allowfullscreen mozallowfullscreen webkitallowfullscreen> </iframe> </body> </html> < script type="text/javascript" src="//sdk.companywebcast.com/sdk/player/client.js"></script> < script type="text/javascript"> var cwcPlayer = cwc.sdk.player.client.createPlayer({ id: 'Customer/Code', element: document.getElementById('iframe') }); </script>