Changeset 1616


Ignore:
Timestamp:
03/01/11 11:21:53 (2 years ago)
Author:
jeroen
Message:

updated livestream plugin to be an actual 5.5 JS plugin

Location:
plugins/livestream/js
Files:
22 added
4 deleted
1 edited
2 moved

Legend:

Unmodified
Added
Removed
  • plugins/livestream/js/livestream.js

    r1507 r1616  
    1 (function(jwplayer) { 
    2  
    3  
    4         /** This plugin can display screens around a live event. **/ 
    5         jwplayer.livestream = function(container,options,start,end) { 
    6  
    7  
    8                 /** Options for the plugin. **/ 
    9                 var _options = { 
    10                         autostart: true, 
    11                         duration: 0, 
    12                         height: 405, 
    13                         id: 'livestreamPlayer', 
    14                         title: 'Live event', 
    15                         width: 720 
    16                 }; 
    17                 /** DOM elements. **/ 
    18                 var _container; 
    19                 var _player; 
    20                 var _overlay; 
    21                 var _title; 
    22                 var _subtitle; 
    23                 var _image; 
    24                 /** Dates to compare. **/ 
    25                 var _currentDate; 
    26                 var _startDate; 
    27                 var _endDate; 
    28                 /** Interval ID to animate reconnects. **/ 
    29                 var _interval; 
    30  
    31  
    32                 /** Constructor stuff. **/ 
    33                 jwplayer.utils.extend(_options, options); 
    34                 _setDates(start,end); 
    35                 _setElements(container); 
    36                 if(_currentDate < _startDate) { 
    37                         _countDown(); 
    38                 } else if (_currentDate > _endDate) { 
    39                         _endScreen(); 
    40                 } else { 
    41                         _embedPlayer(); 
    42                 } 
    43  
    44  
    45                 /** Do the countdown. **/ 
    46                 function _countDown() { 
    47                         jwplayer.utils.css(_overlay,{display:'block'}); 
    48                         _currentDate = new Date().getTime()/1000; 
    49                         if(_currentDate > _startDate) { 
    50                                 _embedPlayer(); 
    51                         } else { 
    52                                 var hours = Math.floor((_startDate -_currentDate)/3600); 
    53                                 var minutes = Math.floor(((_startDate -_currentDate)%3600)/60); 
    54                                 var seconds = Math.floor((_startDate -_currentDate)%60); 
    55                                 _subtitle.innerHTML = "Event starts in "+hours+" hours, "+minutes+" minutes, "+seconds+" seconds."; 
    56                                 setTimeout(_countDown,1000); 
    57                         } 
    58                 }; 
    59  
    60  
    61                 /** Embed the actual player when the event is live. **/ 
    62                 function _embedPlayer() { 
    63                         jwplayer.utils.css(_overlay,{display:'none'}); 
    64                         var agent = navigator.userAgent.toLowerCase(); 
    65                         if(agent.match(/ip(hone|ad)/i) !== null && _options.manifest) { 
    66                                 _options.provider = undefined; 
    67                                 _options.streamer = undefined; 
    68                                 _options.file = _options.manifest; 
    69                         } else {  
    70                                 _options.image = undefined; 
    71                         } 
    72                         jwplayer(_options.id).setup(_options); 
    73                         jwplayer(_options.id).onError(_reConnect); 
    74                         jwplayer(_options.id).onIdle(_endScreen); 
    75                 }; 
    76  
    77  
    78                 /** Display the replay screen. **/ 
    79                 function _endScreen() { 
    80                         _currentDate = new Date().getTime()/1000; 
    81                         if(_currentDate < _endDate) { 
    82                                 _reConnect(); 
    83                         } else {  
    84                                 _subtitle.innerHTML = "Event has ended. Replays will be available soon."; 
    85                                 jwplayer.utils.css(_overlay,{display:'block'}); 
    86                                 jwplayer(_options.id).remove(); 
    87                         } 
    88                 }; 
    89  
    90  
    91                 /** Attempt a reconnect. **/ 
    92                 function _reConnect() { 
    93                         _subtitle.innerHTML = "Connection lost. Attempting to reconnect."; 
    94                         jwplayer.utils.css(_overlay,{display:'block'}); 
    95                         jwplayer(_options.id).remove(); 
    96                         _interval = setInterval(_reConnectDot,500); 
    97                         setTimeout(_reConnectEnd, 10000); 
    98                 }; 
    99  
    100  
    101                 function _reConnectDot() { 
    102                         _subtitle.innerHTML += '.'; 
    103                 }; 
    104  
    105  
    106                 function _reConnectEnd() { 
    107                         clearInterval(_interval); 
    108                         _embedPlayer(); 
    109                 }; 
    110  
    111  
    112                 /** Set the dates for the first time. **/ 
    113                 function _setDates(start,end) { 
    114                         _currentDate = new Date().getTime()/1000; 
    115                         if(start) { 
    116                                 _startDate = new Date(start).getTime()/1000; 
    117                         } else {  
    118                                 _startDate = 0; 
    119                         } 
    120                         if(end) {  
    121                                 _endDate = new Date(end).getTime()/1000; 
    122                         } else {  
    123                                 _endDate = new Date().getTime()/1000 + 24 * 3600; 
    124                         } 
    125                 }; 
    126  
    127  
    128                 /** Inject and style all elements for the overlay. **/ 
    129                 function _setElements(container) { 
    130                         _container = document.getElementById(container); 
    131                         jwplayer.utils.css(_container,{ 
    132                                 position: 'relative', 
    133                                 backgroundImage: 'url('+_options.image+')', 
    134                                 backgroundRepeat: 'no-repeat', 
    135                                 backgroundPosition: 'center center', 
    136                                 height:_options.height, 
    137                                 width: _options.width 
    138                         }); 
    139                         _player = document.createElement("div"); 
    140                         _player.setAttribute('id',_options.id); 
    141                         _container.appendChild(_player); 
    142                         _overlay = document.createElement("div"); 
    143                         _container.appendChild(_overlay); 
    144                         jwplayer.utils.css(_overlay,{ 
    145                                 display: 'none', 
    146                                 left: 0, 
    147                                 top: Math.round(_options.height/2)-78, 
    148                                 position: 'absolute', 
    149                                 height: 140, 
    150                                 width: _options.width, 
    151                                 backgroundImage:'url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADtJREFUeNrszgENACAMwLCBf0+3ho2TtAp6qmmx23KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr8GnwADAMqOAQ8BbF7NAAAAAElFTkSuQmCC)' 
    152                         }); 
    153                         _image = document.createElement("div"); 
    154                         _overlay.appendChild(_image); 
    155                         jwplayer.utils.css(_image,{ 
    156                                 backgroundImage: 'url(data:image/png;base64,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%3D%3D)', 
    157                                 backgroundRepeat: 'no-repeat', 
    158                                 backgroundPosition: 'right center', 
    159                                 cssFloat: 'left', 
    160                                 width: '35%', 
    161                                 height: '100%' 
    162                         }); 
    163                         _title = document.createElement("div"); 
    164                         _title.innerHTML = _options.title; 
    165                         _overlay.appendChild(_title); 
    166                         jwplayer.utils.css(_title,{ 
    167                                 color:'#FFF', 
    168                                 fontSize: 24, 
    169                                 lineHeight: 24, 
    170                                 fontWeight: 'bold', 
    171                                 fontFamily: 'Arial', 
    172                                 cssFloat: 'left', 
    173                                 width: '55%', 
    174                                 height: 48, 
    175                                 paddingLeft: 22, 
    176                                 paddingTop: 32, 
    177                                 margin: 0 
    178                         }); 
    179                         _subtitle = document.createElement("div"); 
    180                         _subtitle.innerHTML = 'Waiting for event start...'; 
    181                         _overlay.appendChild(_subtitle); 
    182                         jwplayer.utils.css(_subtitle,{ 
    183                                 color:'#FFF', 
    184                                 fontSize: 14, 
    185                                 fontFamily: 'Arial', 
    186                                 cssFloat: 'left', 
    187                                 width: '55%', 
    188                                 paddingLeft: 22, 
    189                                 paddingTop: 12, 
    190                                 margin: 0 
    191                         }); 
    192                 }; 
    193  
    194  
    195                 return this; 
    196  
    197  
    198         }; 
    199  
    200  
    201 })(jwplayer); 
     1(function(a){var b=function(j,i,q){var c;var l;var h;var e;var p;var s;function f(){g(i,{display:"block"});c=new Date().getTime()/1000;if(c>e){m()}else{var t=Math.floor((e-c)/3600);var u=Math.floor(((e-c)%3600)/60);var v=Math.floor((e-c)%60);p.innerHTML="Starting in "+t+" hours, "+u+" minutes, "+v+" seconds.";setTimeout(f,1000)}}function n(){c=new Date().getTime()/1000;if(c<l){o()}else{p.innerHTML="Event ended. Replays will be available soon.";g(i,{display:"block"})}}function r(){c=new Date().getTime()/1000;if(q.start){e=new Date(q.start*1000).getTime()/1000}else{e=0}if(q.end){l=new Date(q.end*1000).getTime()/1000}else{l=new Date().getTime()/1000+24*3600}s=document.createElement("div");i.appendChild(s);if(q.title){s.innerHTML=q.title}else{s.innerHTML="Live event."}p=document.createElement("div");i.appendChild(p);p.innerHTML="Waiting for event start...";if(c<e){f()}else{if(c>l){n()}else{m()}}j.onComplete(n);j.onError(n)}j.onReady(r);function m(){g(i,{display:"none"});j.play()}function o(){p.innerHTML="Attempting to (re)connect to stream.";g(i,{display:"block"});h=setInterval(d,500);setTimeout(k,10000)}function d(){p.innerHTML+="."}function k(){clearInterval(h);m()}this.resize=function(u,t){if(String(u).indexOf("px")>0){t=Number(t.substr(0,t.length-2));u=Number(u.substr(0,u.length-2))}g(i,{backgroundImage:"url(data:image/png;base64,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)",backgroundRepeat:"no-repeat",backgroundPosition:"left center",height:t,width:u});g(s,{color:"#FFF",fontFamily:"Arial",fontSize:"26px",fontWeight:"bold",height:"30px",lineHeight:"30px",left:"119px",overflow:"hidden",position:"absolute",top:Math.round(t/2-30)+"px",width:(u-120)+"px"});g(p,{color:"#FFF",fontFamily:"Arial",fontSize:"13px",height:"20px",left:"120px",overflow:"hidden",position:"absolute",top:Math.round(t/2+4)+"px",width:(u-120)+"px"})};function g(t,u){for(var v in u){t.style[v]=u[v]}}};a().registerPlugin("livestream",b)})(jwplayer); 
  • plugins/livestream/js/test/index.html

    r1509 r1616  
    1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    2 <html xmlns="http://www.w3.org/1999/xhtml"> 
     1<html> 
    32<head> 
    43 
    5         <title>Livestream plugin</title> 
    6  
    7         <style type="text/css"> 
    8                 body { background-color: #eee; padding: 40px; } 
    9         </style> 
    10     <script type="text/javascript" src="jwplayer.js"></script> 
    11     <script type="text/javascript" src="../jwplayer.livestream.js"></script> 
     4    <title>Livestream Plugin Tests</title> 
     5    <style> 
     6        body { padding: 50px; font: 13px/20px Arial; background: #EEE; } 
     7        form,ul,p { margin-top: 20px; } 
     8        #player { -webkit-box-shadow: 0 0 5px #999; background: #000; } 
     9        hr { display: inline-block; width: 10px; border:0; } 
     10    </style> 
    1211 
    1312</head> 
    1413<body> 
    1514 
    16 <div id="container"></div> 
    17 <script type="text/javascript"> 
    18     jwplayer.livestream('container', 
    19         { 
    20             file: 'test.mp4', 
    21             flashplayer: "jwplayer.swf", 
    22             height: 406, 
    23             image:'thumb.png', 
    24             streamer:'rtmp://127.0.0.1/live', 
    25             title:'Live testing session of the JW Player LiveStream plugin', 
    26             width: 720 
    27         }, 
    28         '12/20/2010 17:00:00', 
    29         '12/20/2010 17:30:00' 
    30     ); 
    31 </script> 
     15<h2>Livestream Plugin Tests</h2> 
    3216 
     17<ul> 
     18    <li><a href="daterange.html">Date Ranges</a></li> 
     19    <li><a href="reconnects.html">Reconnect Scenarios</a></li> 
     20    <li><a href="rtmp_ios.html">RTMP + iOS Streaming</a></li> 
     21    <li><a href="dimensions.html">Various Dimensions</a></li> 
     22</ul> 
    3323 
     24<p> 
     25    A live streaming server running on localhost is required for these tests.<br/> 
     26    <a href="http://www.wowzamedia.com/store.html">Download</a> and <a href="http://www.wowzamedia.com/forums/content.php?217">startup</a> a free copy of WMS if you don't have one. 
     27</p> 
     28<p>This <a href="http://www.timestampgenerator.com/">timestamp generator</a> might also come in handy</p> 
    3429 
    3530</body> 
Note: See TracChangeset for help on using the changeset viewer.