Page History: StateMachine 1.0 : Home
    Compare Page Revisions
 
    
    
    
    
    
    Page Revision: 2010/02/05 15:50
Company Webcast's StateMachine is a Javascript library that provides access to meta data, binaries and streams directly from web browsers. It exposes an event based model to communicate "state" at any point in time during a webcast, whether that webcast is live or on-demand.
StateMachine contains lots of usefull functionality, but here are the basic functions that will get you started:
- Cwc.PlayerService.WebcastSearch()
- Cwc.PlayerService.WebcastGet()
- Cwc.CreateStateMachine()
That sounds more complicated than it really is... let's look at some sample code.
    
    < script src="http://services.companywebcast.com/StateMachine/0.9/js/Cwc.StateMachine.js" type="text/javascript">
    < script src="http://services.companywebcast.com/StateMachine/0.9/js/Cwc.StateMachine.MediaRenderer.js" type="text/javascript">
    < script type="text/javascript">
        window.onload = function() {
            Cwc.CreateStateMachine(FORMATTER ERROR (":" and "&" not supported in Page Names),
                function(StateMachine, e) {
                    if (e.Success) {
                        //We've successfully authorized for "apeldoorn/20090702_4/nl",
                        //retrieved its metadata and used it to instantiate a StateMachine.
                        //Subscribe to the event that is fired when the current speaker in this webcast changes
                        StateMachine.State.CurrentSpeakerChangedEvent.Subscribe(function() {
                            var CurrentSpeaker = StateMachine.State.getCurrentSpeaker();
                            if (CurrentSpeaker.LastName)
                                 alert(CurrentSpeaker.LastName);
                        });
                        //Add the MediaRenderer of this StateMachine to the page.
                        document.getElementById("VideoContainer").appendChild(StateMachine.MediaRenderer);
                    }
                });
        }
    
    
    
The example above displays the video stream for the webcast with Code "apeldoorn/20090702_4/nl", and fires an alert containing the speaker's last name, every time the current speaker changes.