Changeset 73489 in spip-zone


Ignore:
Timestamp:
Jun 10, 2013, 9:38:35 PM (6 years ago)
Author:
kent1@…
Message:

Faire fonctionner un peu mieux les redimensionnement et les vidéos responsive même si les plateformes nécessitant cela n'ont en général pas flash :)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/mediaspip_player/trunk/javascript/mediaspip_fallback_flash.js

    r73481 r73489  
    5656                                        ratio = options.ratio;
    5757                               
     58                                if(options.movieSize == 'adapt')
     59                                        width = options.width = '100%'
     60                                else if(options.width && options.width == '100%')
     61                                        options.movieSize = 'adapt';
     62                               
    5863                                if(!width){
    59                                         if(!height && media.attr('width')) width = media.attr('width');
    60                                         else if(!height && media.width() > 0) width = media.width();
     64                                        if(!height && media.attr('width')) width = options.width = media.attr('width');
     65                                        else if(!height && media.width() > 0) width = options.width = media.width();
    6166                                        else if(ratio && height)
    62                                                 width = height*ratio;
     67                                                width = options.width = height*ratio;
    6368                                }
    6469                                if(!height){
    6570                                        if(!width && media.attr('height'))
    66                                                 height = media.attr('height').toFixed();
     71                                                height = options.height =  media.attr('height').toFixed();
    6772                                        else if(!width && media.height() > 0)
    68                                                 height = media.height().toFixed();
    69                                         else if(ratio && width)
    70                                                 height = (width/ratio).toFixed();
     73                                                height = options.height = media.height();
     74                                        else if(ratio && width && width != '100%')
     75                                                height = options.height = (width/ratio);
     76                                        else if(ratio && width && width == '100%')
     77                                                height = options.height =  media.width()/ratio;
    7178                                }
    72                                
    73                                 if(options.width && options.width == '100%')
    74                                         options.movieSize = 'adapt';
    7579                               
    7680                                if(options.poster && $(this).prev().is('img'))
     
    7983                                media.wrap('<div class="media_wrapper loading" />');
    8084                                var wrapper = media.parents('.media_wrapper');
    81 
     85                                if(ratio)
     86                                        wrapper[0].ratio = ratio;
    8287                                var controls = '';
    8388                                        /**
     
    112117                                        controls +='</div>';
    113118                               
    114                                         wrapper.html(controls);
     119                                wrapper.html(controls);
    115120
    116121                                if(options.poster && options.isSound){
     
    139144                                                var player = this,
    140145                                                        wrapper = $(this.getParent()).parents('.media_wrapper');
     146
     147                                                wrapper.removeClass('loading').addClass('paused');
    141148                                               
    142                                                 wrapper.removeClass('loading').addClass('paused');
    143                                                        
    144149                                                        if(wrapper[0].options.isSound){
    145150                                                                wrapper.find('.flowplayer').click(function(){
     
    204209                                                }
    205210                                               
     211                                                        var handler_media_resize = function(){
     212                                                                if(wrapper[0].ratio)
     213                                                                        wrapper.css({width:'auto'}).css({height:(wrapper.parent().width()/wrapper[0].ratio)+'px'}).flow_resize_controls();
     214                                                }
     215                                                $(window).unbind('resize',handler_media_resize).bind('resize',handler_media_resize);
     216                                               
    206217                                                        wrapper.dblclick(function(e){ return false; });
    207218                                                        wrapper.flow_resize_controls();
     
    258269                                                wrapper.addClass('loop');
    259270                                        }
     271
    260272                                        if(typeof(clip.looped) == 'undefined')
    261273                                                clip.looped = false;
     
    276288                                        }
    277289                                        if(typeof(clip.duration) != 'undefined'){
    278                                                 var duration = ms_second_to_time(clip.duration);
    279                                                 if(wrapper.find(".remaining_time").is('.remaining'))
    280                                                         wrapper.find(".remaining_time").html('-'+duration);
    281                                                                 else
    282                                                                         wrapper.find(".remaining_time").html(duration);
    283                                                                 wrapper.find(".elapsed_time").html(ms_second_to_time(0));
     290                                                if(clip.duration){
     291                                                        var duration = ms_second_to_time(clip.duration);
     292                                                        if(wrapper.find(".remaining_time").is('.remaining'))
     293                                                                wrapper.find(".remaining_time").html('-'+duration);
     294                                                                        else
     295                                                                                wrapper.find(".remaining_time").html(duration);
     296                                                                        wrapper.find(".elapsed_time").html(ms_second_to_time(0));
     297                                                }
     298                                                else
     299                                                                        wrapper.find('.progress_back,.remaining_time').hide();
    284300                                        }else
    285301                                                wrapper.flow_resize_controls();
     
    293309                                                                statustime = 0,
    294310                                                                wrapper = $(this.getParent()).parents('.media_wrapper');
    295 
    296311                                                // begin timer
    297312                                                this.timer = setInterval(function(){
     
    379394                                        var wrapper = $(this.getParent()).parents('.media_wrapper'),
    380395                                                options = wrapper[0].options;
     396                                        if(clip.duration)
     397                                                wrapper.find('.progress_back,.remaining_time').show();
    381398                                        if((clip.duration != 'undefined') && (clip.duration != this.former_duration)){
    382399                                                this.former_duration = clip.duration;
     
    392409                                        if(options.isVideo){
    393410                                                var ratio_video = clip.metaData.width/clip.metaData.height;
    394                                                         wrapper[0].ratio = ratio_video;
     411                                                        wrapper[0].ratio = options.ratio = ratio_video;
    395412                                                if(options.movieSize == 'adapt' && !wrapper.hasClass('noresize') && (options.movieSize != 'noresize')){
    396413                                                                /**
     
    406423                                                                        wrapper.flow_resize_controls();
    407424                                                                });
    408                                                                 var handler_media_resize = function(){
    409                                                                         wrapper.css({width:'auto'}).css({height:(wrapper.parent().width()/wrapper[0].ratio)+'px'}).flow_resize_controls();
    410                                                                 }
    411                                                                 $(window).unbind('resize',handler_media_resize).bind('resize',handler_media_resize);
    412425                                                        }else if(!wrapper.hasClass('noresize') || options.movieSize != 'noresize'){
    413426                                                                /**
     
    476489                                },
    477490                                onUpdate:function(clip){},
    478                                 onBufferEmpty:function(){},
     491                                onBufferEmpty:function(clip){},
    479492                                onBufferFull:function(clip){},
    480493                                onBufferStop:function(){},
     
    485498                                backgroundGradient:'none'
    486499                                },
    487                                 play: {
    488                                         opacity: 0
    489                                 },
    490                                 plugins: {
    491                                         controls: null
    492                                 }
     500                                play: { opacity: 0 },
     501                                plugins: { controls: null }
    493502                            };
    494503                               
Note: See TracChangeset for help on using the changeset viewer.