Changeset 418


Ignore:
Timestamp:
10/08/09 17:01:35 (4 years ago)
Author:
zach
Message:

V4 controlbar working much better

Location:
trunk/fl5/src/com/longtailvideo/jwplayer
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/fl5/src/com/longtailvideo/jwplayer/media/VideoMediaProvider.as

    r407 r418  
    139139                protected function positionInterval():void { 
    140140                        _position = Math.round(stream.time * 10) / 10; 
    141                         var bfr:Number = Math.round(stream.bufferLength / stream.bufferTime * 100); 
     141                        var bfr:Number = Math.round(stream.bytesLoaded / stream.bytesTotal * 100); 
    142142                        if (bfr < 95 && position < Math.abs(item.duration - stream.bufferTime - 1)) { 
    143143                                if (state == PlayerState.PLAYING && bfr < 25) { 
     
    151151                        if (position < item.duration) { 
    152152                                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}); 
    154154                                } 
    155155                        } else if (item.duration > 0) { 
  • trunk/fl5/src/com/longtailvideo/jwplayer/view/components/ControlbarComponentV4.as

    r417 r418  
    7777                        player.addEventListener(MediaEvent.JWPLAYER_MEDIA_MUTE, muteHandler); 
    7878                        player.addEventListener(MediaEvent.JWPLAYER_MEDIA_VOLUME, volumeHandler); 
    79                         player.addEventListener(MediaEvent.JWPLAYER_MEDIA_BUFFER, loadedHandler); 
     79                        player.addEventListener(MediaEvent.JWPLAYER_MEDIA_BUFFER, timeHandler); 
    8080                        player.addEventListener(PlaylistEvent.JWPLAYER_PLAYLIST_LOADED, itemHandler); 
    8181                        player.addEventListener(PlaylistEvent.JWPLAYER_PLAYLIST_UPDATED, itemHandler); 
     
    8585                        setColors(); 
    8686                        itemHandler(); 
    87                         loadedHandler(); 
    8887                        muteHandler(); 
    8988                        stateHandler(); 
     
    157156                        stacker.rearrange(width); 
    158157                        stateHandler(); 
    159                         fixTime(); 
    160158                        Mouse.show(); 
    161159                } 
     
    208206                } 
    209207                 
    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                  
    227208                /** Handle a change in the current item **/ 
    228209                private function itemHandler(evt:PlaylistEvent = null):void { 
     
    237218                        timeHandler(); 
    238219                        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                         } 
    254220                } 
    255221                 
     
    270236                /** Hide above controlbar again when move has timed out. **/ 
    271237                private function moveTimeout():void { 
    272                         var fade:Fade = new Fade(this); 
     238                        /*var fade:Fade = new Fade(this); 
    273239                        fade.alphaTo = 0; 
    274                         fade.play(); 
     240                        fade.play();*/ 
    275241                } 
    276242                 
     
    462428                        var dur:Number = 0; 
    463429                        var pos:Number = 0; 
    464                         if (evt) { 
     430                        if (evt && (evt.position >= 0 || evt.duration >=0)) { 
    465431                                dur = evt.duration; 
    466432                                pos = evt.position; 
     
    481447                        } 
    482448                        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)); 
    485450                                if (dur > 0) { 
    486451                                        getSkinElementChild('timeSlider', 'icon').visible = true; 
     
    488453                                        if (!scrubber) { 
    489454                                                getSkinElementChild('timeSlider', 'icon').x = xps; 
     455                                                getSkinElementChild('timeSlider', 'icon').scaleX  = 1 / getSkinElement('timeSlider').scaleX; 
     456                                                //getSkinElementChild('timeSlider','icon'). = 1; 
    490457                                                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; 
    491463                                        } 
    492464                                        getSkinElementChild('timeSlider', 'done').visible = true; 
Note: See TracChangeset for help on using the changeset viewer.