Changeset 418
- Timestamp:
- 10/08/09 17:01:35 (4 years ago)
- Location:
- trunk/fl5/src/com/longtailvideo/jwplayer
- Files:
-
- 2 edited
-
media/VideoMediaProvider.as (modified) (2 diffs)
-
view/components/ControlbarComponentV4.as (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/fl5/src/com/longtailvideo/jwplayer/media/VideoMediaProvider.as
r407 r418 139 139 protected function positionInterval():void { 140 140 _position = Math.round(stream.time * 10) / 10; 141 var bfr:Number = Math.round(stream.b ufferLength / stream.bufferTime* 100);141 var bfr:Number = Math.round(stream.bytesLoaded / stream.bytesTotal * 100); 142 142 if (bfr < 95 && position < Math.abs(item.duration - stream.bufferTime - 1)) { 143 143 if (state == PlayerState.PLAYING && bfr < 25) { … … 151 151 if (position < item.duration) { 152 152 if (state == PlayerState.PLAYING && position >= 0) { 153 sendMediaEvent(MediaEvent.JWPLAYER_MEDIA_TIME, {position: position, duration: item.duration });153 sendMediaEvent(MediaEvent.JWPLAYER_MEDIA_TIME, {position: position, duration: item.duration, bufferPercent:bfr}); 154 154 } 155 155 } else if (item.duration > 0) { -
trunk/fl5/src/com/longtailvideo/jwplayer/view/components/ControlbarComponentV4.as
r417 r418 77 77 player.addEventListener(MediaEvent.JWPLAYER_MEDIA_MUTE, muteHandler); 78 78 player.addEventListener(MediaEvent.JWPLAYER_MEDIA_VOLUME, volumeHandler); 79 player.addEventListener(MediaEvent.JWPLAYER_MEDIA_BUFFER, loadedHandler);79 player.addEventListener(MediaEvent.JWPLAYER_MEDIA_BUFFER, timeHandler); 80 80 player.addEventListener(PlaylistEvent.JWPLAYER_PLAYLIST_LOADED, itemHandler); 81 81 player.addEventListener(PlaylistEvent.JWPLAYER_PLAYLIST_UPDATED, itemHandler); … … 85 85 setColors(); 86 86 itemHandler(); 87 loadedHandler();88 87 muteHandler(); 89 88 stateHandler(); … … 157 156 stacker.rearrange(width); 158 157 stateHandler(); 159 fixTime();160 158 Mouse.show(); 161 159 } … … 208 206 } 209 207 210 211 /** Fix the timeline display. **/212 private function fixTime():void {213 try {214 var scp:Number = getSkinElement('timeSlider').scaleX;215 getSkinElement('timeSlider').scaleX = 1;216 getSkinElementChild('timeSlider', 'icon').x = scp * getSkinElementChild('timeSlider', 'icon').x;217 getSkinElementChild('timeSlider', 'mark').x = scp * getSkinElementChild('timeSlider', 'mark').x;218 getSkinElementChild('timeSlider', 'mark').width = scp * getSkinElementChild('timeSlider', 'mark').width;219 getSkinElementChild('timeSlider', 'rail').width = scp * getSkinElementChild('timeSlider', 'rail').width;220 getSkinElementChild('timeSlider', 'done').x = scp * getSkinElementChild('timeSlider', 'done').x;221 getSkinElementChild('timeSlider', 'done').width = scp * getSkinElementChild('timeSlider', 'done').width;222 } catch (err:Error) {223 }224 }225 226 227 208 /** Handle a change in the current item **/ 228 209 private function itemHandler(evt:PlaylistEvent = null):void { … … 237 218 timeHandler(); 238 219 stacker.rearrange(); 239 fixTime();240 loadedHandler();241 }242 243 244 /** Process bytesloaded updates given by the model. **/245 private function loadedHandler(evt:MediaEvent = null):void {246 try {247 var wid:Number = getSkinElementChild('timeSlider', 'rail').width;248 //getSkinElement('timeSlider').getChildByName('mark').x = evt.position / evt.duration * wid;249 var icw:Number = getSkinElementChild('timeSlider', 'icon').x + getSkinElementChild('timeSlider', 'icon').width;250 var markWidth:Number = ((evt.bufferPercent / 100) * player.config.bufferlength) / evt.duration * wid + icw;251 getSkinElementChild('timeSlider', 'mark').width = Math.abs(markWidth);252 } catch (err:Error) {253 }254 220 } 255 221 … … 270 236 /** Hide above controlbar again when move has timed out. **/ 271 237 private function moveTimeout():void { 272 var fade:Fade = new Fade(this);238 /*var fade:Fade = new Fade(this); 273 239 fade.alphaTo = 0; 274 fade.play(); 240 fade.play();*/ 275 241 } 276 242 … … 462 428 var dur:Number = 0; 463 429 var pos:Number = 0; 464 if (evt ) {430 if (evt && (evt.position >= 0 || evt.duration >=0)) { 465 431 dur = evt.duration; 466 432 pos = evt.position; … … 481 447 } 482 448 try { 483 var tsl:MovieClip = getSkinElement('timeSlider') as MovieClip; 484 var xps:Number = Math.round(pct * (tsl.rail.width - tsl.icon.width)); 449 var xps:Number = Math.round(pct * (getSkinElementChild('timeSlider', 'rail').width - getSkinElementChild('timeSlider', 'icon').width)); 485 450 if (dur > 0) { 486 451 getSkinElementChild('timeSlider', 'icon').visible = true; … … 488 453 if (!scrubber) { 489 454 getSkinElementChild('timeSlider', 'icon').x = xps; 455 getSkinElementChild('timeSlider', 'icon').scaleX = 1 / getSkinElement('timeSlider').scaleX; 456 //getSkinElementChild('timeSlider','icon'). = 1; 490 457 getSkinElementChild('timeSlider', 'done').width = xps; 458 var bufferPercent:Number = evt.bufferPercent / 100; 459 var wid:Number = getSkinElementChild('timeSlider','rail').width; 460 getSkinElementChild('timeSlider','mark').x = 0; 461 getSkinElementChild('timeSlider','mark').width = bufferPercent / 100 * getSkinElementChild('timeSlider', 'rail').width; 462 getSkinElementChild('timeSlider','mark').scaleX = getSkinElementChild('timeSlider', 'rail').scaleX; 491 463 } 492 464 getSkinElementChild('timeSlider', 'done').visible = true;
Note: See TracChangeset
for help on using the changeset viewer.
