Ignore:
Timestamp:
10/10/12 19:22:14 (7 years ago)
Author:
kent1
Message:

Le message d'erreur flash ne doit être qu'un paragraphe ça suffit pas besoin du html autour.

Faire en sorte que ce message soit visible s'il pas de flash

On renomme tous les mediaspip_... en ms_...

Diverses autres réductions de codes...

Tout passe en 1.2.1

Location:
plugins_spip/html5/trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • plugins_spip/html5/trunk/javascript/mediaspip_fallback_flash.js

    r6853 r6990  
    44 * HTML5 to fallback flash
    55 *
    6  * $version : 1.1.1
     6 * $version : 1.2.1
    77 * © GNU/GPL v3 - kent1 (http://kent1.info - kent1@arscenic.info)
    88 * cf : http://www.mediaspip.net/technical-documentation/plugins-used-by-mediaspip/html5-player-video-sound-media/
     
    1010 */
    1111(function($){
    12         var slider = false;
    13         var timer = false;
     12        var slider = (typeof($.ui) == 'object') && (typeof($.ui.slider) == 'function'),
     13                cookies = (typeof($.cookie) == 'function'),
     14                timer = false;
    1415       
    1516        $.extend($.fn, {
    16                 mediaspip_fallback_flash : function(options) {
    17                         if((typeof($.ui) == 'object') && (typeof($.ui.slider) == 'function')){
    18                                 slider = true;
    19                         }
     17                ms_fallback_flash : function(options) {
    2018                        var defaults = {
    2119                                sources : $('source[type*="video/x-flv"],source[type*="video/mp4"],source[type*="application/mp4"],source[type*="audio/mpeg"]'),
     
    3230                                cookie_volume: false,
    3331                                messages: true,
    34                                 volume_slider_orientation: 'horizontal'
    35                         };
    36                        
    37                         var $this = $(this);
    38                         if($this.find('audio').size() >0){
    39                                 var isSound = true;
    40                                 var isVideo = false;
    41                         }else{
    42                                 var isVideo = true;
    43                                 var isSound = false;
    44                         }
     32                                volume_slider_orientation: 'horizontal',
     33                                flasherror: 'Error : Flash is not installed'
     34                        },
     35                        media = $(this),
     36                        liens = [];
     37                         
     38                        if(media.find('audio').size() >0)
     39                                var isSound = true, isVideo = false;
     40                        else
     41                                var isVideo = true, isSound = false;
    4542                       
    4643                        options = $.extend(defaults, options);
    47                         var liens = [];
     44
    4845                        liens = sm2_chercher_liens(options.sources,liens);
     46                       
     47                        media[0].options = options;
     48
    4949                        if(liens.length>0){
    50                                 var styles = ' style="';
    51                                 var style = false;
    52                                 if(options.width){
    53                                         style = true;
     50                                var styles = ' style="',
     51                                        style = (options.height && options.width) ? true:false;
     52
     53                                if(options.width)
    5454                                        styles += 'width:'+options.width+'px;';
    55                                 }
    56                                 if(options.height){
    57                                         style = true;
     55                                if(options.height)
    5856                                        styles += 'height:'+options.height+'px;';
    59                                 }
     57
    6058                                styles += '"';
    6159                                var lecteur = '<div class="media_wrapper loading"'+(style ? styles : '') +'>';
     
    6361                                         * Le bloc html pour afficher les messages
    6462                                         */
    65                                         if(options.messages){
    66                                                 lecteur += '<div class="messages" style="display:none"></div>';
    67                                         }
    68                                         if(options.poster){
    69                                                 lecteur +='<div class="html5_cover"><img src="'+options.poster+'" /></div>';
    70                                         }
     63                                        lecteur += (options.messages) ? '<div class="messages" style="display:none"></div>' : '';
     64                                        lecteur +=(options.poster) ? '<div class="html5_cover"><img src="'+options.poster+'" /></div>' : '';
    7165                                        lecteur +='<div class="flowplayer"'+(style ? styles : '') +'></div>';
    7266                                        lecteur +='<div class="controls small">'
    7367                                        +'<div class="buttons_left">'
    74                                                 +'<span class="play_pause_button" title="'+mediaspip_player_lang.bouton_loading+'"></span>'
     68                                                +'<span class="play_pause_button" title="'+ms_player_lang.bouton_loading+'"></span>'
    7569                                        +'</div>'
    7670                                        +'<div class="progress_bar">'
    77                                                 +'<em class="elapsed_time" title="'+mediaspip_player_lang.info_ecoule+'"></em>'
     71                                                +'<em class="elapsed_time" title="'+ms_player_lang.info_ecoule+'"></em>'
    7872                                                +'<div class="progress_back">'
    7973                                                        +'<div class="progress_loading_wrapper">'
     
    8478                                                        +'<span class="progress_indicator"></span>'
    8579                                                +'</div>'
    86                                                 +'<em class="remaining_time remaining" title="'+mediaspip_player_lang.info_restant+'"></em>'
     80                                                +'<em class="remaining_time remaining" title="'+ms_player_lang.info_restant+'"></em>'
    8781                                        +'</div>'
    8882                                        +'<div class="buttons_right">'
    89                                                 +'<span class="volume_button" title="'+mediaspip_player_lang.bouton_volume+' ('+options.volume+'%)"></span>';
     83                                                +'<span class="volume_button" title="'+ms_player_lang.bouton_volume+' ('+options.volume+'%)"></span>';
    9084                                        /**
    9185                                         * Si on a les sliders, on ajoute une div ici pour avoir un slider de volume
    9286                                         */
    93                                         if(slider){
    94                                                 lecteur += '<span class="volume_slider_container '+options.volume_slider_orientation+'"><span class="volume_slider"></span></span>';
    95                                         }
    96                                         lecteur += '<span class="loop_button" title="'+mediaspip_player_lang.bouton_loop+'"></span>';
     87                                        lecteur += slider ? '<span class="volume_slider_container '+options.volume_slider_orientation+'"><span class="volume_slider"></span></span>' : '';
     88                                        lecteur += '<span class="loop_button" title="'+ms_player_lang.bouton_loop+'"></span>';
    9789                                        lecteur +='</div>'
    9890                                        + '</div>';
    9991       
    100                                 $this.html(lecteur);
     92                                media.html(lecteur);
    10193                               
    102                             var controls = $this.find('.controls');
    103                             var wrapper = $this.find('.media_wrapper');
     94                            var controls = media.find('.controls'),
     95                                wrapper = media.find('.media_wrapper');
     96                           
     97                            wrapper[0].options = options;
    10498                           
    10599                            if(options.poster && isSound){
    106                                 var width = wrapper.find('.html5_cover img').width();
    107                                 var height = wrapper.find('.html5_cover img').height();
    108                                 wrapper.height(height).width(width);
    109                                 wrapper.find('.flowplayer').height(height).width(width);
     100                                var width = wrapper.find('.html5_cover img').width(),
     101                                        height = wrapper.find('.html5_cover img').height();
     102                                wrapper.height(height).width(width).find('.flowplayer').height(height).width(width);
    110103                            }
    111104                           
    112                             if(isSound){
    113                                 var allowfullscreen = false;
    114                             }else{
    115                                 var allowfullscreen = true;
    116                             }
    117                             var resized = false;
    118                             var media_options = {
     105                            var allowfullscreen = isSound ? false : true,
     106                                resized = false,
     107                                media_options = {
    119108                                clip:{
    120109                                        url:liens[0],
     
    123112                                    autoBuffering:options.autoload,
    124113                                    bufferLength:5,
    125                                 onBeforeLoad:function(){
    126                                 },
    127                                 onBeforeBegin:function(){
    128                                 },
     114                                onBeforeLoad:function(){},
     115                                onBeforeBegin:function(){},
    129116                                    onBegin:function(clip){
    130117                                        if(typeof(clip.looped) == 'undefined')
     
    133120                                                        if(clip.looped){
    134121                                                                clip.looped = false;
    135                                                                 $(this).attr('title',mediaspip_player_lang.bouton_loop);
     122                                                                $(this).attr('title',ms_player_lang.bouton_loop);
     123                                                                media.ms_messages('loop',ms_player_lang.statut_unloop,options);
    136124                                                                wrapper.removeClass('loop');
    137                                                                 $(this).mediaspip_messages('loop',mediaspip_player_lang.statut_unloop,options);
    138125                                                        }else{
    139126                                                                clip.looped = true;
    140                                                                 $(this).attr('title',mediaspip_player_lang.bouton_loop_looped);
     127                                                                $(this).attr('title',ms_player_lang.bouton_loop_looped);
     128                                                                media.ms_messages('loop',ms_player_lang.statut_loop,options);
    141129                                                                wrapper.addClass('loop');
    142                                                                 $(this).mediaspip_messages('loop',mediaspip_player_lang.statut_loop,options);
    143130                                                        }
    144131                                                        });
    145132                                        if(typeof(clip.duration) != 'undefined'){
    146                                                 var duration = mediaspip_second_to_time(clip.duration);
     133                                                var duration = ms_second_to_time(clip.duration);
    147134                                                if(wrapper.find(".remaining_time").is('.remaining')){
    148135                                                        wrapper.find(".remaining_time").html('-'+duration);
     
    150137                                                                        wrapper.find(".remaining_time").html(duration);
    151138                                                                }
    152                                                                 $this.find(".elapsed_time").html(mediaspip_second_to_time(0));
     139                                                                media.find(".elapsed_time").html(ms_second_to_time(0));
    153140                                                                wrapper.parent().progress_resize();
    154141                                        }
     
    159146                                onMetaData:function(clip) {
    160147                                        if(isVideo){
    161                                                 var video_width = clip.metaData.width;
    162                                                 var video_height = clip.metaData.height;
    163                                                 var parent_width = wrapper.parent().parent().width()
    164                                                 var ratio = parent_width/video_width;
    165                                                 var parent_height = video_height*ratio;
     148                                                var parent_width = wrapper.parent().parent().width(),
     149                                                        ratio = parent_width/clip.metaData.width,
     150                                                        parent_height = clip.metaData.height*ratio;
    166151                                                wrapper.css({height:parent_height.toFixed()+'px',width:parent_width+'px'});
    167152                                                wrapper.find('.flowplayer').height(parent_height.toFixed()).width(parent_width);
     
    169154                                        }
    170155                                        if(typeof(clip.duration) != 'undefined'){
    171                                                 var duration = mediaspip_second_to_time(clip.duration);
    172                                                 if(wrapper.find(".remaining_time").is('.remaining')){
     156                                                var duration = ms_second_to_time(clip.duration);
     157                                                if(wrapper.find(".remaining_time").is('.remaining'))
    173158                                                        wrapper.find(".remaining_time").html('-'+duration);
    174                                                                 }else{
     159                                                                else
    175160                                                                        wrapper.find(".remaining_time").html(duration);
    176                                                                 }
    177                                                                 $this.find(".elapsed_time").html(mediaspip_second_to_time(0));
     161                                                                media.find(".elapsed_time").html(ms_second_to_time(0));
    178162                                                                this.former_duration = clip.duration;
    179163                                                                wrapper.parent().progress_resize();
    180164                                        }
    181165                                    },
    182                                     onLastSecond:function(){
    183                                 },
    184                                     onBeforeFinish: function(clip) {
    185                                     },
     166                                    onLastSecond:function(){},
     167                                    onBeforeFinish: function(clip) {},
    186168                                onFinish:function(clip){
    187169                                        wrapper.flow_play_pause('stop',options);
    188                                         if(clip.looped){
    189                                                 this.play();
    190                                         }
     170                                        if(clip.looped) this.play();
    191171                                },
    192172                                    onPause:function(clip){
     
    196176                                        if((clip.duration != 'undefined') && (clip.duration != this.former_duration)){
    197177                                                this.former_duration = clip.duration;
    198                                                 var duration = mediaspip_second_to_time(this.former_duration);
     178                                                var duration = ms_second_to_time(this.former_duration);
    199179                                                if(typeof(this.slider_control) == 'object')
    200180                                                        this.slider_control.slider('option', 'max',this.former_duration);
    201                                                 if(wrapper.find(".remaining_time").is('.remaining')){
     181                                                if(wrapper.find(".remaining_time").is('.remaining'))
    202182                                                        wrapper.find(".remaining_time").html('-'+duration);
    203                                                                 }else{
     183                                                                else
    204184                                                                        wrapper.find(".remaining_time").html(duration);
    205                                                                 }
    206                                                 wrapper.find(".elapsed_time").html(mediaspip_second_to_time(this.getStatus().time || 0));
     185                                                wrapper.find(".elapsed_time").html(ms_second_to_time(this.getStatus().time || 0));
    207186                                                                wrapper.parent().progress_resize();
    208187                                        }
     
    210189                                },
    211190                                onBeforeSeek:function(clip,time){
    212                                         wrapper.addClass('seeking');
    213                                                         wrapper.find('.play_pause_button').attr('title',mediaspip_player_lang.bouton_seeking);
    214                                                         if(this.isPlaying())
    215                                                                 clip.status = 'playing';
    216                                                         else if(this.isPaused())
    217                                                                 clip.status = 'paused';
     191                                                        wrapper.addClass('seeking').find('.play_pause_button').attr('title',ms_player_lang.bouton_seeking);
     192                                                        if(this.isPlaying()) clip.status = 'playing';
     193                                                        else if(this.isPaused()) clip.status = 'paused';
    218194                                },
    219195                                onSeek:function(clip,time){
    220                                         var time_affiche = mediaspip_second_to_time(time);
    221                                                         wrapper.mediaspip_messages('seek_to',mediaspip_player_lang.statut_seek_to+' '+time_affiche,options);
     196                                        var time_affiche = ms_second_to_time(time);
    222197                                                        wrapper.removeClass('seeking');
     198                                                        media.ms_messages('seek_to',ms_player_lang.statut_seek_to+' '+time_affiche,options);
    223199                                        if(clip.status == 'paused')
    224                                                                 wrapper.find('.play_pause_button').removeClass('pause').attr('title',mediaspip_player_lang.bouton_pause);
     200                                                                wrapper.find('.play_pause_button').removeClass('pause').attr('title',ms_player_lang.bouton_pause);
    225201                                                        else
    226                                                                 wrapper.find('.play_pause_button').addClass('pause').attr('title',mediaspip_player_lang.bouton_lire);                                   
     202                                                                wrapper.find('.play_pause_button').addClass('pause').attr('title',ms_player_lang.bouton_lire);                                 
    227203                                },
    228204                                onStop:function(){
    229205                                        wrapper.flow_play_pause('stop',options);
    230206                                },
    231                                 onUpdate:function(clip){
    232                                 },
    233                                 onBufferEmpty:function(){
    234                                 },
    235                                 onBufferFull:function(clip){
    236                                 },
    237                                 onBufferStop:function(){
    238                                 },
    239                                 onNetStreamEvent:function(){
    240                                 }
     207                                onUpdate:function(clip){},
     208                                onBufferEmpty:function(){},
     209                                onBufferFull:function(clip){},
     210                                onBufferStop:function(){},
     211                                onNetStreamEvent:function(){}
    241212                            },
    242213                            canvas:{
     
    251222                                }
    252223                            };
    253                             $this.find('.flowplayer').flowplayer({
     224                            media.find('.flowplayer').flowplayer({
    254225                                cachebusting: $.browser.msie,
    255226                                src:options.flowurl,
     
    258229                                allowfullscreen: allowfullscreen,
    259230                                onFail: function() {
    260                                         wrapper.find('.controls').detach();
    261                                         wrapper.css('background-color','#ffffff');
     231                                        wrapper.removeClass('loading').addClass('error').css('background-color','inherit').find('.controls').detach();
    262232                                        wrapper.find('.html5_cover').css('background-color','#ffffff');
    263233                                        wrapper.find('.html5_cover img').fadeTo('slow', 0.4);
    264                                         wrapper.find('.flowplayer').html(options.flasherror);
     234                                        wrapper.find('.flowplayer').css('position','relative').html(options.flasherror);
    265235                                }
    266236                            }, media_options);
    267237                           
    268238                            wrapper.parent().progress_resize();
    269                             var timer = null;
    270                             var bufferfull = null;
     239                            var timer = null, bufferfull = null;
    271240                            wrapper.find('.flowplayer').flowplayer().each(function() {
    272241                                var duration = false;
     
    274243                                        var player = this;
    275244                                                wrapper.removeClass('loading').addClass('paused');
    276                                                 controls.find('.play_pause_button').attr('title',mediaspip_player_lang.bouton_lire);
    277                                                 controls.find('.play_pause_button').unbind('click').click(function(e){
     245                                                controls.find('.play_pause_button').attr('title',ms_player_lang.bouton_lire).unbind('click').click(function(e){
    278246                                                        e.preventDefault();
    279                                                         if (player.isLoaded()) {
    280                                                                 player.toggle();       
    281                                                         } else {
    282                                                                 player.play(); 
    283                                                         }
     247                                                        if (player.isLoaded()) player.toggle();
     248                                                        else player.play();     
    284249                                                });
    285250                                                if(isSound){
    286251                                                        wrapper.find('.flowplayer').click(function(){
    287                                                                 if (player.isLoaded()) {
    288                                                                         player.toggle();               
    289                                                                 } else {
    290                                                                         player.play(); 
    291                                                                 }
     252                                                                if (player.isLoaded()) player.toggle();
     253                                                                else player.play();
    292254                                                        });
    293255                                                }
     
    295257                                                var status = player.getStatus();
    296258                                                        if(status.muted){
    297                                                                 if(options.cookie_volume)
    298                                                                         $.cookie('mediaspip_volume_muted',null);
    299                                                                 if(typeof(player.slider_volume) == 'object')
    300                                                                         player.slider_volume.slider('enable');
    301                                                                 var volume_title = mediaspip_player_lang.bouton_volume+' ('+Math.floor(player.getVolume())+'%)';
     259                                                                if(cookies && options.cookie_volume) $.cookie('ms_volume_muted',null);
     260                                                                if(typeof(player.slider_volume) == 'object') player.slider_volume.slider('enable');
     261                                                                var volume_title = ms_player_lang.bouton_volume+' ('+Math.floor(player.getVolume())+'%)';
    302262                                                                controls.find('.volume_button').removeClass('muted').attr('title',volume_title);
    303263                                                                player.unmute();
    304                                                                 $(this).mediaspip_messages('mute',mediaspip_player_lang.statut_unmute,options);
     264                                                                media.ms_messages('mute',ms_player_lang.statut_unmute,options);
    305265                                                        }else{
    306                                                                 if(options.cookie_volume)
    307                                                                         $.cookie('mediaspip_volume_muted','muted');
    308                                                                 if(typeof(player.slider_volume) == 'object')
    309                                                                         player.slider_volume.slider('disable');
    310                                                                 controls.find('.volume_button').addClass('muted').attr('title',mediaspip_player_lang.bouton_volume_muted);
     266                                                                if(cookies && options.cookie_volume) $.cookie('ms_volume_muted','muted');
     267                                                                if(typeof(player.slider_volume) == 'object') player.slider_volume.slider('disable');
     268                                                                controls.find('.volume_button').addClass('muted').attr('title',ms_player_lang.bouton_volume_muted);
    311269                                                                player.mute();
    312                                                                 $(this).mediaspip_messages('mute',mediaspip_player_lang.statut_mute,options);
     270                                                                media.ms_messages('mute',ms_player_lang.statut_mute,options);
    313271                                                        }
    314272                                                });
    315273                                });
    316                                 this.onClipAdd(function(clip){
    317                                 });
     274                               
    318275                                this.onStart(function(clip) {
    319                                         var player = this;
    320                                         var status_start = player.getStatus();
     276                                        var player = this,
     277                                                status_start = player.getStatus();
    321278                                        if(slider){
    322279                                                        controls.find('.progress_indicator').hide();
     
    335292                                                                                player.setVolume(volume_new);
    336293                                                                                wrapper.flow_change_volume(volume_new,player.slider_volume,false,options);
    337                                                                                 if(options.cookie_volume){
    338                                                                                         $.cookie('mediaspip_volume', volume_new/100);
    339                                                                                 }
     294                                                                                if(cookies && options.cookie_volume) $.cookie('ms_volume', volume_new/100);
    340295                                                                        }
    341296                                                                },
     
    348303                                                                                player.setVolume(volume_new);
    349304                                                                                wrapper.flow_change_volume(volume_new,player.slider_volume,false,options);
    350                                                                                 if(options.cookie_volume){
    351                                                                                         $.cookie('mediaspip_volume', volume_new/100);
    352                                                                                 }
     305                                                                                if(cookies && options.cookie_volume) $.cookie('ms_volume', volume_new/100);
    353306                                                                        }
    354307                                                                       
     
    357310                                        }
    358311                                               
    359                                                 $this.progress_resize();
     312                                                media.progress_resize();
    360313                                       
    361314                                        bufferfull = false;
     
    365318                                        // begin timer
    366319                                        var timer_function = function(){
    367                                                 if(typeof(clip.duration) == 'undefined'){
    368                                                         return;
    369                                                 }
     320                                                if(typeof(clip.duration) == 'undefined') return;
    370321                                               
    371322                                                var status = player.getStatus();
     
    391342                                                                                                player.pause();
    392343                                                                                                replay = true;
    393                                                                                         }else{
     344                                                                                        }else
    394345                                                                                                replay = false;
    395                                                                                         }
    396346                                                                                },
    397347                                                                                slide: function(event,ui){
     
    403353                                                                                        controls.find('.progress_elapsed_time').css('width',width+'%');
    404354                                                                                        var percent = width;
    405                                                                                         wrapper.find(".elapsed_time").html(mediaspip_second_to_time(ui.value));
    406                                                                                         if(wrapper.find(".remaining_time").is('.remaining')){
    407                                                                                                 wrapper.find(".remaining_time").html('-'+mediaspip_second_to_time(player.former_duration-ui.value));
    408                                                                                         }
     355                                                                                        wrapper.find(".elapsed_time").html(ms_second_to_time(ui.value));
     356                                                                                        if(wrapper.find(".remaining_time").is('.remaining'))
     357                                                                                                wrapper.find(".remaining_time").html('-'+ms_second_to_time(player.former_duration-ui.value));
    409358                                                                                        wrapper.progress_resize();
    410359                                                                                },
     
    414363                                                                                         */
    415364                                                                                        var temps = ui.value;
    416                                                                                         wrapper.find(".elapsed_time").html(mediaspip_second_to_time(temps));
    417                                                                                         if(wrapper.find(".remaining_time").is('.remaining')){
    418                                                                                                 wrapper.find(".remaining_time").html('-'+mediaspip_second_to_time(player.former_duration-temps));
    419                                                                                         }
     365                                                                                        wrapper.find(".elapsed_time").html(ms_second_to_time(temps));
     366                                                                                        if(wrapper.find(".remaining_time").is('.remaining'))
     367                                                                                                wrapper.find(".remaining_time").html('-'+ms_second_to_time(player.former_duration-temps));
    420368                                                                                        player.seek(temps);
    421                                                                                        
    422                                                                                         if(replay){
    423                                                                                                 player.resume();
    424                                                                                         }
     369                                                                                        if(replay) player.resume();
    425370                                                                                        wrapper.progress_resize();
    426371                                                                                }
     
    428373                                                                        player.slider_done = true;
    429374                                                        }
    430                                                         if(wrapper.find(".remaining_time").html() == '-00:00'){
     375                                                        if(wrapper.find(".remaining_time").html() == '-00:00')
    431376                                                                        wrapper.parent().progress_resize();
    432                                                         }
    433377                                                        if (!player.isPaused()) {
    434                                                                 var timer2 = status.time / player.former_duration * 100;
    435                                                                         var position = Math.round(timer2);
     378                                                                var timer2 = status.time / player.former_duration * 100,
     379                                                                                position = Math.round(timer2);
    436380                                                                        wrapper.find('.progress_elapsed_time,.progress_back > .ui-slider-range').css('width',position+'%');
    437381                                                                        wrapper.find('.progress_indicator,.progress_back > .ui-slider-handle').css('left',position+'%');
    438                                                                         wrapper.find(".elapsed_time").html(mediaspip_second_to_time(status.time));
    439                                                                         if($this.find(".remaining_time").is('.remaining')){
    440                                                                                 wrapper.find(".remaining_time").html('-'+mediaspip_second_to_time(player.former_duration-status.time));
    441                                                                         }
     382                                                                        wrapper.find(".elapsed_time").html(ms_second_to_time(status.time));
     383                                                                        if(media.find(".remaining_time").is('.remaining'))
     384                                                                                wrapper.find(".remaining_time").html('-'+ms_second_to_time(player.former_duration-status.time));
    442385                                                                        wrapper.parent().progress_resize();
    443386                                                        }
    444387                                                        if(!bufferfull){
    445                                                                 var buffer = mediaspip_anything_to_percent(status.bufferEnd,player.former_duration);
    446                                                                 if(buffer > 100)
    447                                                                         buffer = 100;
    448                                                                 if(buffer == 100)
    449                                                                         bufferfull = true;
     388                                                                var buffer = ms_anything_to_percent(status.bufferEnd,player.former_duration);
     389                                                                if(buffer > 100) buffer = 100;
     390                                                                if(buffer == 100) bufferfull = true;
    450391                                                                        wrapper.find('.progress_buffered').css('width',buffer+'%');
    451392                                                        }
     
    457398                                        timer = setInterval(timer_function, 500);
    458399                                        wrapper.find(".remaining_time").unbind('click').click(function(e){
    459                                                         if($(this).is('.remaining')){
    460                                                                 $(this)
    461                                                                         .removeClass('remaining')
    462                                                                         .addClass('total_time')
    463                                                                         .attr('title',mediaspip_player_lang.info_total)
    464                                                                         .html(mediaspip_second_to_time(Math.floor(player.former_duration)));
    465                                                         }else{
    466                                                                 $(this)
    467                                                                         .removeClass('total_time')
    468                                                                         .addClass('remaining')
    469                                                                         .attr('title',mediaspip_player_lang.info_restant)
    470                                                                         .html('-'+mediaspip_second_to_time(Math.floor(player.former_duration) - statustime));
    471                                                         }
    472                                                         $this.progress_resize();
     400                                                        if($(this).is('.remaining'))
     401                                                                $(this).removeClass('remaining').addClass('total_time')
     402                                                                        .attr('title',ms_player_lang.info_total)
     403                                                                        .html(ms_second_to_time(Math.floor(player.former_duration)));
     404                                                        else
     405                                                                $(this).removeClass('total_time').addClass('remaining')
     406                                                                        .attr('title',ms_player_lang.info_restant)
     407                                                                        .html('-'+ms_second_to_time(Math.floor(player.former_duration) - statustime));
     408                                                        media.progress_resize();
    473409                                        });
    474410                                });
    475                                 this.onError(function(error){
    476                                 });
     411                                this.onClipAdd(function(clip){});
     412                                this.onError(function(error){});
    477413                            });
    478                            
    479414                        }
    480415                       
     
    494429                                        event.preventDefault();
    495430                                        wrapper.find('.flowplayer').flowplayer().each(function() {
    496                                                 var status = this.getStatus();
    497                                                 if(!status.muted){
    498                                                         var volume = this.getVolume();
    499                                                         var volume_diff = (delta > 0) ? 10 : -10;
    500                                                         var volume_new = volume + volume_diff;
    501                                                         if(volume_new < 0)
    502                                                                 volume_new = 0;
    503                                                         if(volume_new > 100)
    504                                                                 volume_new = 100;
     431                                                if(!this.getStatus().muted){
     432                                                        var volume_new = this.getVolume() + ((delta > 0) ? 10 : -10);
     433                                                        if(volume_new < 0) volume_new = 0;
     434                                                        if(volume_new > 100) volume_new = 100;
    505435                                                        this.setVolume(volume_new);
    506436                                                        wrapper.flow_change_volume(volume_new,this.slider_volume,false,options);
    507                                                         if(options.cookie_volume && (typeof($.fn.cookie) != "undefined")){
    508                                                                 $.cookie('mediaspip_volume', volume_new/100);
    509                                                         }
     437                                                        if(cookies && options.cookie_volume) $.cookie('ms_volume', volume_new/100);
    510438                                                }
    511439                                        });
     
    516444                flow_play_pause : function(action,options){
    517445                        if(action == 'pause'||action == 'stop'){
    518                                 $(this).addClass('paused');
    519                                 $(this).find('.play_pause_button').removeClass('pause').attr('title',mediaspip_player_lang.bouton_lire);
     446                                $(this).addClass('paused').find('.play_pause_button').removeClass('pause').attr('title',ms_player_lang.bouton_lire);
    520447                                if(action == 'pause')
    521                                         $(this).mediaspip_messages('pause',mediaspip_player_lang.statut_pause,options);
     448                                        $(this).ms_messages('pause',ms_player_lang.statut_pause,options);
    522449                        }else{
    523                                 $(this).removeClass('paused');
    524                                 $(this).find('.play_pause_button').addClass('pause').attr('title',mediaspip_player_lang.bouton_pause);
    525                                 $(this).mediaspip_messages('play',mediaspip_player_lang.statut_play,options);
     450                                $(this).removeClass('paused').find('.play_pause_button').addClass('pause').attr('title',ms_player_lang.bouton_pause);
     451                                $(this).ms_messages('play',ms_player_lang.statut_play,options);
    526452                        }
    527453                },
     
    529455                        if(slider && typeof(slider_volume == 'object')){
    530456                                slider_volume.slider({value:volume_new});
    531                                 $(this).mediaspip_messages('pause',mediaspip_player_lang.statut_pause,options);
     457                                $(this).ms_messages('pause',ms_player_lang.statut_pause,options);
    532458                        }
    533459                        if((volume_new <= 100) && (volume_new >= 0)){
    534                                 var sound_button = $(this).find('.volume_button');
    535                                 var class_remove = sound_button.attr('class').match('volume_button_[0-9]{1,3}');
     460                                var sound_button = $(this).find('.volume_button'),
     461                                        class_remove = sound_button.attr('class').match('volume_button_[0-9]{1,3}');
    536462                                if((volume_new <= 66) && (volume_new > 33)){
    537463                                        if(class_remove != null)
     
    551477                                        sound_button.addClass('volume_button_0');
    552478                                }
    553                                 var volume_title = mediaspip_player_lang.bouton_volume+' ('+volume_new+'%)';
    554                                 $(this).mediaspip_messages('volume',volume_title,options);
     479                                var volume_title = ms_player_lang.bouton_volume+' ('+volume_new+'%)';
     480                                $(this).ms_messages('volume',volume_title,options);
    555481                                sound_button.attr('title',volume_title);
    556482                        }
     
    572498                    });
    573499                    $('.buttons_right').width(buttons_right_width);
    574                         var width_container = $(this).find('.media_wrapper').width();
    575                        
    576                         var play_width = parseFloat($(this).find('.buttons_left').outerWidth())+2;
     500                        var width_container = $(this).find('.media_wrapper').width(),
     501                                play_width = parseFloat($(this).find('.buttons_left').outerWidth())+2;
    577502                        if(!isNaN(parseFloat($(this).find('.buttons_left').css('margin-left'))))
    578503                                play_width += parseFloat($(this).find('.buttons_left').css('margin-left'));
     
    632557        function sm2_chercher_liens(sources,liens){
    633558                sources.each(function(){
    634                         var $source = $(this);
    635                         var sURL = $source.attr('src');
    636                         if($.inArray(sURL,liens)<0) {
     559                        var source = $(this),
     560                                sURL = source.attr('src');
     561                        if($.inArray(sURL,liens)<0)
    637562                                liens.push(sURL);
    638                         }
    639563                });
    640564                return liens;
  • plugins_spip/html5/trunk/javascript/mediaspip_player.js

    r6989 r6990  
    66 * avec fallback vers version flash pour flv/mp4/mp3/aac
    77 *
    8  * $version : 1.1.2
     8 * $version : 1.2.1
    99 * © GNU/GPL v3 - kent1 (http://kent1.info - kent1@arscenic.info)
    1010 * cf : http://www.mediaspip.net/technical-documentation/plugins-used-by-mediaspip/html5-player-video-sound-media/
     
    1919 * - jQuery UI slider : http://jqueryui.com/slider/ (pour que les barres de progressions et de volume soient des sliders)
    2020 * - jQuery cookies : https://github.com/carhartl/jquery-cookie (Pour l'option qui garde en mémoire le niveau de volume)
     21 * - jQuery mousewheel : https://github.com/brandonaaron/jquery-mousewheel (Diminue et augmente le volume lors d'un mousewheel sur le lecteur)
    2122 *
    2223 * Options :
     
    2526 * - minwidth int
    2627 * - movieSize string 'adapt' uniquement pour l'instant
    27  * - cookie_volume boolean true/false : met dans un cookie mediaspip_volume le niveau de volume
     28 * - cookie_volume boolean true/false : met dans un cookie ms_volume le niveau de volume
    2829 *   et dans html_volume_muted la valeur 'muted' si on a désactivé le son
    2930 * - messages boolean : affiche ou pas des messages à même le lecteur :
     
    8788                slider = (typeof($.ui) == 'object') && (typeof($.ui.slider) == 'function'),
    8889                cookies = (typeof($.cookie) == 'function'),
    89                 stop_message_timeout = false;
     90                stop_message_timeout = false,
     91                iPhone = /iPhone/i.test(navigator.userAgent);
    9092       
    9193        /**
     
    9395         *
    9496         * Exemple d'appel :
    95          * $('video').mediaspip_player_init();
     97         * $('video').ms_player_init();
    9698         */
    9799        $.extend($.fn, {
    98                 mediaspip_player_init : function(options){
     100                ms_player_init : function(options){
    99101                        /**
    100102                         * Si c'est iTruc, cela ne fonctionne pas => on sort direct et on laisse la balise html5 faire ce qu'elle peut
    101103                         */
    102                         if(isiPhone() || isiPad()){
    103                                 return;
    104                         }
     104                        if(iPhone) return;
    105105                       
    106106                        var defaults = {
     
    122122                                class_wrapper = '';
    123123                       
    124                         if(slider)
    125                                 id.slider = true;
     124                        if(slider) id.slider = true;
    126125
    127126                        id.slider_control = false;
     
    131130                                id.islooping = true;
    132131                        }
    133                         else
    134                                 id.islooping = false;
     132                        else id.islooping = false;
    135133                        id.messages = options.messages;
    136134                        id.options = options;
    137135                       
    138                         if(id.controls)
    139                                 id.addcontrols = true;
     136                        if(id.controls) id.addcontrols = true;
    140137                        id.controls = false;
    141                         if($(this).is(':hidden'))
    142                                 $(this).show();
    143        
    144                         if($(this).is('audio'))
    145                                 options.movieSize = null;
     138                       
     139                        if($(this).is(':hidden')) $(this).show();
     140                        if($(this).is('audio')) options.movieSize = null;
    146141                       
    147142                        /**
     
    162157                                 * On essaie de faire un fallback en flash (mp3/flv/mp4/aac)
    163158                                 */
    164                                 if(!playable && (typeof($.fn.mediaspip_test_fallback) == 'function')){
    165                                         media.mediaspip_test_fallback(options);
    166                                 }else{
     159                                if(!playable && (typeof($.fn.ms_test_fallback) == 'function'))
     160                                        media.ms_test_fallback(options);
     161                                else{
    167162                                        id.mediacanplay = id.isFullScreen = false;
    168163                                        var styles = ' style="',
     
    171166                                                bloc_messages = '';
    172167                                       
    173                                         if(options.width){
    174                                                 styles += 'width:'+options.width+'px;';
    175                                         }
    176                                         if(options.height){
    177                                                 styles += 'height:'+options.height+'px;';
    178                                         }
     168                                        if(options.width) styles += 'width:'+options.width+'px;';
     169                                        if(options.height) styles += 'height:'+options.height+'px;';
     170
    179171                                        styles += '"';
    180172                                        media.parent().wrapInner('<div class="media_wrapper loading '+class_wrapper+'"'+(style ? styles : '') +'></div>');
     
    184176                                                controls = '<div class="controls small">'
    185177                                                        +'<div class="buttons_left">'
    186                                                                 +'<span class="play_pause_button" title="'+mediaspip_player_lang.bouton_loading+'"></span>'
     178                                                                +'<span class="play_pause_button" title="'+ms_player_lang.bouton_loading+'"></span>'
    187179                                                        +'</div>'
    188180                                                        +'<div class="progress_bar">'
    189                                                                 +'<em class="elapsed_time" title="'+mediaspip_player_lang.info_ecoule+'"></em>'
     181                                                                +'<em class="elapsed_time" title="'+ms_player_lang.info_ecoule+'"></em>'
    190182                                                                +'<div class="progress_back">'
    191183                                                                        +'<div class="progress_loading_wrapper">'
     
    196188                                                                        +'<span class="progress_indicator"></span>'
    197189                                                                +'</div>'
    198                                                                 +'<em class="remaining_time remaining" title="'+mediaspip_player_lang.info_restant+'"></em>'
     190                                                                +'<em class="remaining_time remaining" title="'+ms_player_lang.info_restant+'"></em>'
    199191                                                        +'</div>'
    200192                                                        +'<div class="buttons_right">'
    201                                                                 +'<span class="volume_button" title="'+mediaspip_player_lang.bouton_volume+' ('+Math.floor(id.volume*100)+'%)"></span>';
     193                                                                +'<span class="volume_button" title="'+ms_player_lang.bouton_volume+' ('+Math.floor(id.volume*100)+'%)"></span>';
    202194               
    203195                                                /**
     
    205197                                                 */
    206198                                                controls += (slider) ? '<span class="volume_slider_container '+options.volume_slider_orientation+'"><span class="volume_slider"></span></span>' : '';
    207                                                 controls += (media.is('video')) ? '<span class="fullwindow_button" title="'+mediaspip_player_lang.bouton_fullscreen+'"></span>' : '';
    208                                                 controls += '<span class="loop_button" title="'+mediaspip_player_lang.bouton_loop+'"></span>';
     199                                                controls += (media.is('video')) ? '<span class="fullwindow_button" title="'+ms_player_lang.bouton_fullscreen+'"></span>' : '';
     200                                                controls += '<span class="loop_button" title="'+ms_player_lang.bouton_loop+'"></span>';
    209201                                                controls +='</div>';
    210202                                                +'</div>';
     
    213205                                                control = wrapper.find('.controls');
    214206                                        }
    215                                         if(options.minwidth && $(this).width() > options.minwidth)
    216                                                 wrapper.width($(this).width());
    217                                         else if(options.minwidth)
    218                                                 wrapper.width(options.minwidth);
    219                                        
    220                                         if(wrapper.height() < 100)
    221                                                 options.messages = false;
     207                                        if(options.minwidth && $(this).width() > options.minwidth) wrapper.width($(this).width());
     208                                        else if(options.minwidth) wrapper.width(options.minwidth);
     209                                       
     210                                        if(wrapper.height() < 100) options.messages = false;
     211                                       
    222212                                        if(options.messages){
    223213                                                bloc_messages = '<div class="messages" style="display:none"></div>';
     
    237227                                                media.prev().wrap('<div class="html5_logo"></div>');
    238228                                                media.prev().click(function(){
    239                                                         media.mediaspip_play_pause();
     229                                                        media.ms_play_pause();
    240230                                                });
    241231                                        }
     
    245235                                                        progress_indicator = control.find('.progress_indicator'),
    246236                                                        progress_elapse = control.find('.progress_elapsed_time');
    247                                                 media.mediaspip_resize_controls();
     237                                                media.ms_resize_controls();
    248238                                        }
    249239                                       
    250240                                        id.addEventListener("loadedmetadata",function(e){
    251                                                 media.mediaspip_start('loadedmetadata');
     241                                                media.ms_start('loadedmetadata');
    252242                                                /**
    253243                                                 * Cas d'un stream audio (Radio)
     
    256246                                                        id.isstream = true;
    257247                                                        control.find('.progress_back').detach();
    258                                                         remaining_time.addClass('total_time').attr('title','').html(mediaspip_player_lang.info_streaming);
     248                                                        remaining_time.addClass('total_time').attr('title','').html(ms_player_lang.info_streaming);
    259249                                                }
    260250                                        },true);
    261251                                       
    262252                                        id.addEventListener("error", function(e){
    263                                                 wrapper.removeClass('loading').addClass('error').find('.play_pause_button').attr('title',mediaspip_player_lang.info_erreur);
     253                                                wrapper.removeClass('loading').addClass('error').find('.play_pause_button').attr('title',ms_player_lang.info_erreur);
    264254                                        }, true);
    265255       
    266256                                        id.addEventListener("timeupdate", function(e){
    267257                                                if(control && id.percent_loaded && id.percent_loaded != 100)
    268                                                         media.mediaspip_update_loaded(e);
    269 
    270                                                 var percent_time = mediaspip_anything_to_percent(id.currentTime,id.duration);
     258                                                        media.ms_update_loaded(e);
     259
     260                                                var percent_time = ms_anything_to_percent(id.currentTime,id.duration);
    271261                                                if(remaining_time.is('.remaining') && (id.duration != 'Infinity'))
    272                                                         remaining_time.text('-'+mediaspip_second_to_time(id.duration - id.currentTime));
     262                                                        remaining_time.text('-'+ms_second_to_time(id.duration - id.currentTime));
    273263                                               
    274                                                 elapsed_time.text(mediaspip_second_to_time(id.currentTime));
     264                                                elapsed_time.text(ms_second_to_time(id.currentTime));
    275265                                                if(slider && (typeof(id.slider_control) == 'object')){
    276266                                                        progress_elapse.css('width',percent_time+'%');
     
    279269                                                        progress_indicator.css('left',percent_time+'%');
    280270
    281                                                 media.mediaspip_resize_controls();
     271                                                media.ms_resize_controls();
    282272                                        }, true);
    283273       
    284274                                        id.addEventListener("seeking",function(e){
    285                                                 wrapper.addClass('seeking').find('.play_pause_button').attr('title',mediaspip_player_lang.bouton_seeking);
     275                                                wrapper.addClass('seeking').find('.play_pause_button').attr('title',ms_player_lang.bouton_seeking);
    286276                                        },true);
    287277                                       
     
    289279                                                wrapper.removeClass('seeking');
    290280                                                if(id.paused)
    291                                                         wrapper.find('.play_pause_button').removeClass('pause').attr('title',mediaspip_player_lang.bouton_pause);
     281                                                        wrapper.find('.play_pause_button').removeClass('pause').attr('title',ms_player_lang.bouton_pause);
    292282                                                else
    293                                                         wrapper.find('.play_pause_button').addClass('pause').attr('title',mediaspip_player_lang.bouton_lire);
     283                                                        wrapper.find('.play_pause_button').addClass('pause').attr('title',ms_player_lang.bouton_lire);
    294284                                        },true);
    295285       
    296286                                        id.addEventListener("progress", function(e){
    297287                                                if(control)
    298                                                         media.mediaspip_update_loaded(e);
     288                                                        media.ms_update_loaded(e);
    299289                                        },true);
    300290                                       
    301291                                        id.addEventListener("play", function(e){
    302292                                                if(control && id.percent_loaded && id.percent_loaded != 100)
    303                                                         media.mediaspip_update_loaded(e);
     293                                                        media.ms_update_loaded(e);
    304294                                        },true);
    305295                                       
    306296                                        id.addEventListener("loadeddata", function(e){
    307297                                                if(control)
    308                                                         media.mediaspip_update_loaded(e);
     298                                                        media.ms_update_loaded(e);
    309299                                        },true);
    310300                                       
    311301                                        id.addEventListener("ended", function(e){
    312302                                                if(!id.islooping){
    313                                                         wrapper.addClass('paused').find('.play_pause_button').removeClass('pause').attr('title',mediaspip_player_lang.bouton_lire);
     303                                                        wrapper.addClass('paused').find('.play_pause_button').removeClass('pause').attr('title',ms_player_lang.bouton_lire);
    314304                                                        id.paused = true;
    315305                                                }else{
     
    320310       
    321311                                        id.addEventListener("volumechange", function(e){
    322                                                 media.mediaspip_volume(false);
     312                                                media.ms_volume(false);
    323313                                        }, true);
    324314       
    325315                                        document.addEventListener(fullScreenApi.fullScreenEventName, function(e){
    326316                                                if(id.isFullScreen && !fullScreenApi.isFullScreen())
    327                                                         media.mediaspip_fullscreen();
    328                                                 media.mediaspip_resize_controls();
     317                                                        media.ms_fullscreen();
     318                                                media.ms_resize_controls();
    329319                                        }, true);
    330320                                       
    331321                                        media.click(function(){
    332                                                 media.mediaspip_play_pause();
     322                                                media.ms_play_pause();
    333323                                        });
    334324                                       
    335325                                        media.dblclick(function(e){
    336326                                                e.preventDefault();
    337                                                 media.mediaspip_fullscreen();
     327                                                media.ms_fullscreen();
    338328                                        });
    339329                                       
     
    349339                                                                wrapper.addClass('hover');
    350340                                                                clearTimeout(stop_timeout);
    351                                                                 var full_onmousestop = function() {
    352                                                                         wrapper.removeClass('hover');
    353                                                                 };
     341                                                                var full_onmousestop = function() { wrapper.removeClass('hover'); };
    354342                                                                stop_timeout = setTimeout(full_onmousestop, 1500);
    355343                                                                last_moved = e.timeStamp;
     
    370358                                        if(control){
    371359                                                control.find('.play_pause_button').click(function(){
    372                                                         media.mediaspip_play_pause();
     360                                                        media.ms_play_pause();
    373361                                                });
    374362               
    375363                                                control.find('.progress_back,.progress_elapsed_time,.progress_buffered').click(function(e){
    376                                                         media.mediaspip_seek_to(e.clientX,slider);
     364                                                        media.ms_seek_to(e.clientX,slider);
    377365                                                });
    378366               
    379367                                                control.find('.volume_button').click(function(e){
    380                                                         media.mediaspip_volume(true);
     368                                                        media.ms_volume(true);
    381369                                                });
    382370               
    383371                                                control.find('.fullwindow_button').click(function(e){
    384                                                         media.mediaspip_fullscreen();
     372                                                        media.ms_fullscreen();
    385373                                                });
    386374                                               
    387375                                                control.find('.loop_button').click(function(e){
    388                                                         media.mediaspip_loop();
     376                                                        media.ms_loop();
    389377                                                });
    390378                                       
     
    392380                                                        if(!id.isstream){
    393381                                                                if($(this).is('.remaining')){
    394                                                                         $(this)
    395                                                                                 .removeClass('remaining')
    396                                                                                 .addClass('total_time')
    397                                                                                 .attr('title',mediaspip_player_lang.info_total)
    398                                                                                 .html(mediaspip_second_to_time(id.duration));
     382                                                                        $(this).removeClass('remaining').addClass('total_time')
     383                                                                                .attr('title',ms_player_lang.info_total)
     384                                                                                .html(ms_second_to_time(id.duration));
    399385                                                                }else{
    400                                                                         $(this)
    401                                                                                 .removeClass('total_time')
    402                                                                                 .addClass('remaining')
    403                                                                                 .attr('title',mediaspip_player_lang.info_restant)
    404                                                                                 .html('-'+mediaspip_second_to_time(id.duration - id.currentTime));
     386                                                                        $(this).removeClass('total_time').addClass('remaining')
     387                                                                                .attr('title',ms_player_lang.info_restant)
     388                                                                                .html('-'+ms_second_to_time(id.duration - id.currentTime));
    405389                                                                }
    406                                                                 media.mediaspip_resize_controls();
     390                                                                media.ms_resize_controls();
    407391                                                        }
    408392                                                });
     
    421405                                        if(typeof($.fn.mousewheel != "undefined")){
    422406                                                wrapper.mousewheel(function(event, delta) {
     407                                                        if(!id.muted){
     408                                                                var volume_new = Math.round((id.volume + parseFloat((delta > 0) ? '0.1' : '-0.1'))*10)/10;
     409                                                                if((volume_new <= 1) && (volume_new >= 0)) id.volume = volume_new;
     410                                                        }
    423411                                                        event.preventDefault();
    424                                                         if(!id.muted){
    425                                                                 var volume = id.volume,
    426                                                                         volume_diff = (delta > 0) ? '0.1' : '-0.1',
    427                                                                         volume_new = Math.round((volume + parseFloat(volume_diff))*10)/10;
    428                                                                 if((volume_new <= 1) && (volume_new >= 0))
    429                                                                         id.volume = volume_new;
    430                                                         }
    431                                                 });
    432                                         }
    433                                         if((id.readyState == "4") || (id.readyState == "3"))
    434                                                 media.mediaspip_start('canplay');
     412                                                });
     413                                        }
     414                                        if((id.readyState == "4") || (id.readyState == "3")) media.ms_start('canplay');
    435415                                       
    436416                                        $(this)[0].options = options;
    437417                                }
    438418                        }else{
    439                                 media.mediaspip_test_fallback(options);
    440                         }
    441                 },
    442                 mediaspip_start : function(action){
     419                                media.ms_test_fallback(options);
     420                        }
     421                },
     422                ms_start : function(action){
    443423                        var media = $(this),
    444424                                id = media[0],
     
    450430                       
    451431                        if(!id.mediacanplay){
    452                                 if(wrapper.hasClass('error'))
    453                                         wrapper.removeClass('error').addClass('loading');
     432                                if(wrapper.hasClass('error')) wrapper.removeClass('error').addClass('loading');
    454433
    455434                                id.mediacanplay = true;
    456                                 var width_container = media.width(),
    457                                         parent_width = wrapper.parent().width();
     435                                var width_container = media.width(), parent_width = wrapper.parent().width();
    458436                               
    459437                                if(id.videoHeight && id.videoWidth){
     
    463441                                                        height_final = (id.videoHeight*ratio).toFixed();
    464442                                                wrapper.add(media).animate({height:height_final+'px',width:width_container+'px'},500,function(){
    465                                                         media.mediaspip_resize_controls();
     443                                                        media.ms_resize_controls();
    466444                                                });
    467445                                        }
    468446                                }
    469447                                if(wrapper.hasClass('loading'))
    470                                         wrapper.removeClass('loading').addClass('paused').find('.play_pause_button').attr('title',mediaspip_player_lang.bouton_lire);
     448                                        wrapper.removeClass('loading').addClass('paused').find('.play_pause_button').attr('title',ms_player_lang.bouton_lire);
    471449                               
    472450                                if(remaining_time.is('.remaining') && (id.duration != 'Infinity'))
    473                                         remaining_time.text('-'+mediaspip_second_to_time(id.duration));
    474 
    475                                 elapsed_time.text(mediaspip_second_to_time(id.currentTime));
    476                                 media.mediaspip_resize_controls();
     451                                        remaining_time.text('-'+ms_second_to_time(id.duration));
     452
     453                                elapsed_time.text(ms_second_to_time(id.currentTime));
     454                                media.ms_resize_controls();
    477455                                if((id.networkState == 2) && (typeof(id.buffered) != 'undefined') && (typeof(id.buffered.end(0)) == 'number') && id.buffered.end(0) > 0){
    478                                         var percent_load = mediaspip_anything_to_percent(id.buffered.end(0),id.duration);
     456                                        var percent_load = ms_anything_to_percent(id.buffered.end(0),id.duration);
    479457                                        control.find('.progress_buffered').css('width',percent_load+'%');
    480458                                }
    481459                               
    482460                                if(slider){
     461                                        var replay = false;
    483462                                        control.find('.progress_indicator').hide();
    484                                         var replay = false;
    485463                                        id.slider_control = control.find('.progress_back').slider({
    486464                                                min: 0,
     
    491469                                                                id.pause();
    492470                                                                replay = true;
    493                                                         }else
    494                                                                 replay = false;
     471                                                        }else replay = false;
    495472                                                },
    496473                                                slide: function(event,ui){
     
    501478                                                        control.find('.progress_elapsed_time').css('width',ui.value+'%');
    502479                                                        if(remaining_time.is('.remaining') && (id.duration != 'Infinity'))
    503                                                                 remaining_time.text('-'+mediaspip_percent_to_time((100 - ui.value),id.duration));
    504                                                         elapsed_time.text(mediaspip_percent_to_time(ui.value,id.duration));
     480                                                                remaining_time.text('-'+ms_percent_to_time((100 - ui.value),id.duration));
     481                                                        elapsed_time.text(ms_percent_to_time(ui.value,id.duration));
    505482                                                },
    506483                                                stop: function(event,ui){
     
    508485                                                         * On saute la lecture au bon endroit ?
    509486                                                         */
    510                                                         media.mediaspip_seek_to_percent(ui.value,true,false);
     487                                                        media.ms_seek_to_percent(ui.value,true,false);
    511488                                                        if(replay) id.play();
    512489                                                }
     
    523500                                                         */
    524501                                                        var volume_new = ui.value/100;
    525                                                         if((volume_new <= 1) && (volume_new >= 0)){
    526                                                                 id.volume = volume_new;
    527                                                         }
     502                                                        if((volume_new <= 1) && (volume_new >= 0)) id.volume = volume_new;
    528503                                                },
    529504                                                stop: function(event,ui){
     
    532507                                                         */
    533508                                                        var volume_new = ui.value/100;
    534                                                         if((volume_new <= 1) && (volume_new >= 0))
    535                                                                 id.volume = volume_new;
     509                                                        if((volume_new <= 1) && (volume_new >= 0)) id.volume = volume_new;
    536510                                                }
    537511                                        });
    538                                         media.mediaspip_resize_controls();
     512                                        media.ms_resize_controls();
    539513                                }
    540514                                if(cookies && options.cookie_volume){
    541                                         var volume_cookie = parseFloat($.cookie('mediaspip_volume'));
    542                                         if((volume_cookie >= 0) && (volume_cookie <= 1)){
     515                                        var volume_cookie = parseFloat($.cookie('ms_volume'));
     516                                        if((volume_cookie >= 0) && (volume_cookie <= 1))
    543517                                                id.volume = volume_cookie;
    544                                         }
    545                                         if(($.cookie('mediaspip_volume_muted') == 'muted') && !id.muted){
    546                                                 media.mediaspip_volume(true);
    547                                         }
     518                                        if(($.cookie('ms_volume_muted') == 'muted') && !id.muted)
     519                                                media.ms_volume(true);
    548520                                }
    549521                        }
    550522                        if(options.autoplay && id.mediacanplay){
    551                                 wrapper.removeClass('paused').find('.play_pause_button').addClass('pause').attr('title',mediaspip_player_lang.bouton_pause);
     523                                wrapper.removeClass('paused').find('.play_pause_button').addClass('pause').attr('title',ms_player_lang.bouton_pause);
    552524                                id.play();
    553525                        }
    554526                },
    555                 mediaspip_play_pause : function(){
     527                ms_play_pause : function(){
    556528                        if($(this)[0].mediacanplay && !$(this)[0].seeking){
    557529                                var options = $(this)[0].options;
    558530                                if($(this)[0].paused){
    559                                         $(this).parent('.media_wrapper').removeClass('paused').find('.play_pause_button').addClass('pause').attr('title',mediaspip_player_lang.bouton_pause);
    560                                         $(this).mediaspip_messages('play',mediaspip_player_lang.statut_play);
     531                                        $(this).parent('.media_wrapper').removeClass('paused').find('.play_pause_button').addClass('pause').attr('title',ms_player_lang.bouton_pause);
     532                                        $(this).ms_messages('play',ms_player_lang.statut_play);
    561533                                        if(cookies && options.cookie_volume){
    562                                                 var volume_cookie = parseFloat($.cookie('mediaspip_volume'));
    563                                                 if((volume_cookie >= 0) && (volume_cookie <= 1)){
     534                                                var volume_cookie = parseFloat($.cookie('ms_volume'));
     535                                                if((volume_cookie >= 0) && (volume_cookie <= 1))
    564536                                                        $(this)[0].volume = volume_cookie;
    565                                                 }
    566                                                 if($.cookie('mediaspip_volume_muted') == 'muted'){
     537                                                if($.cookie('ms_volume_muted') == 'muted')
    567538                                                        $(this)[0].muted = true;
    568                                                 }
    569539                                        }
    570540                                        $(this)[0].play();
    571541                                }else if ($(this)[0].ended){
    572                                         $(this).parent('.media_wrapper').removeClass('paused').find('.play_pause_button').addClass('pause').attr('title',mediaspip_player_lang.bouton_pause);
     542                                        $(this).parent('.media_wrapper').removeClass('paused').find('.play_pause_button').addClass('pause').attr('title',ms_player_lang.bouton_pause);
    573543                                        $(this)[0].currentTime = $(this)[0].startTime ? $(this)[0].startTime : '0';
    574544                                        if(cookies && options.cookie_volume){
    575                                                 var volume_cookie = parseFloat($.cookie('mediaspip_volume'));
    576                                                 if((volume_cookie >= 0) && (volume_cookie <= 1)){
     545                                                var volume_cookie = parseFloat($.cookie('ms_volume'));
     546                                                if((volume_cookie >= 0) && (volume_cookie <= 1))
    577547                                                        $(this)[0].volume = volume_cookie;
    578                                                 }
    579                                                 if($.cookie('mediaspip_volume_muted') == 'muted'){
     548                                                if($.cookie('ms_volume_muted') == 'muted')
    580549                                                        $(this)[0].muted = true;
    581                                                 }
    582550                                        }
    583551                                        $(this)[0].play();
    584552                                }else{
    585                                         $(this).parent('.media_wrapper').addClass('paused').find('.play_pause_button').removeClass('pause').attr('title',mediaspip_player_lang.bouton_lire);;
    586                                         $(this).mediaspip_messages('pause',mediaspip_player_lang.statut_pause);
     553                                        $(this).parent('.media_wrapper').addClass('paused').find('.play_pause_button').removeClass('pause').attr('title',ms_player_lang.bouton_lire);;
     554                                        $(this).ms_messages('pause',ms_player_lang.statut_pause);
    587555                                        $(this)[0].pause();
    588556                                }
     
    595563                 * - mute boolean (true/false) : signifie si le media est muted ou pas;
    596564                 */
    597                 mediaspip_volume : function(mute){
     565                ms_volume : function(mute){
    598566                        if($(this)[0].mediacanplay){
    599                                 var control = $(this).parent().find('.controls'),
    600                                         options = $(this)[0].options;
     567                                var control = $(this).parent().find('.controls'), options = $(this)[0].options;
    601568                                if(mute){
    602569                                        if($(this)[0].muted){
    603                                                 $(this).mediaspip_messages('mute',mediaspip_player_lang.statut_unmute);
    604                                                 var volume_title = mediaspip_player_lang.bouton_volume+' ('+Math.floor($(this)[0].volume*100)+'%)';
     570                                                $(this).ms_messages('mute',ms_player_lang.statut_unmute);
     571                                                var volume_title = ms_player_lang.bouton_volume+' ('+Math.floor($(this)[0].volume*100)+'%)';
    605572                                                control.find('.volume_button').removeClass('muted').attr('title',volume_title);
    606573                                                $(this)[0].muted = false;
    607                                                 if($(this)[0].slider && (typeof($(this)[0].slider_volume) == 'object')){
    608                                                         $(this)[0].slider_volume.slider('value',($(this)[0].volume*100));
    609                                                         $(this)[0].slider_volume.slider('enable');
    610                                                 }
     574                                                if($(this)[0].slider && (typeof($(this)[0].slider_volume) == 'object'))
     575                                                        $(this)[0].slider_volume.slider('value',($(this)[0].volume*100)).slider('enable');
    611576                                                if(cookies && options.cookie_volume)
    612                                                         $.cookie('mediaspip_volume_muted',null);
     577                                                        $.cookie('ms_volume_muted',null);
    613578                                        }else{
    614                                                 $(this).mediaspip_messages('mute',mediaspip_player_lang.statut_mute);
    615                                                 control.find('.volume_button').addClass('muted').attr('title',mediaspip_player_lang.bouton_volume_muted);
     579                                                $(this).ms_messages('mute',ms_player_lang.statut_mute);
     580                                                control.find('.volume_button').addClass('muted').attr('title',ms_player_lang.bouton_volume_muted);
    616581                                                $(this)[0].muted = true;
    617582                                                if($(this)[0].slider && (typeof($(this)[0].slider_volume) == 'object'))
    618583                                                        $(this)[0].slider_volume.slider('disable');
    619584                                                if(cookies && options.cookie_volume)
    620                                                         $.cookie('mediaspip_volume_muted','muted');
     585                                                        $.cookie('ms_volume_muted','muted');
    621586                                        }
    622587                                }else if(!$(this)[0].muted){
     
    641606                                                sound_button.addClass('volume_button_0');
    642607                                        }
    643                                         var volume_title = mediaspip_player_lang.bouton_volume+' ('+Math.floor($(this)[0].volume*100)+'%)';
     608                                        var volume_title = ms_player_lang.bouton_volume+' ('+Math.floor($(this)[0].volume*100)+'%)';
    644609                                        control.find('.volume_button').attr('title',volume_title);
    645610                                        if($(this)[0].slider && (typeof($(this)[0].slider_volume) == 'object')){
     
    647612                                                $(this)[0].slider_volume.slider('enable');
    648613                                        }
    649                                         $(this).mediaspip_messages('volume',volume_title);
     614                                        $(this).ms_messages('volume',volume_title);
    650615                                               
    651616                                        if(cookies && options.cookie_volume)
    652                                                 $.cookie('mediaspip_volume', $(this)[0].volume);
     617                                                $.cookie('ms_volume', $(this)[0].volume);
    653618                                }
    654619                        }
     
    661626                 * - La position du curseur de la souris lors du click sur la barre de progression
    662627                 */
    663                 mediaspip_seek_to : function(cursor_position,slider){
     628                ms_seek_to : function(cursor_position,slider){
    664629                        var was_playing = false,
    665630                                control = $(this).parent().find('.controls'),
     
    667632                                percent = Math.floor((cursor_position-progress.offset().left / progress.width()) * 100),
    668633                                time = Math.floor(($(this)[0].duration * percent) / 100),
    669                                 time_affiche = mediaspip_second_to_time(time);
     634                                time_affiche = ms_second_to_time(time);
    670635                       
    671636                        if(!$(this)[0].paused){
     
    682647                       
    683648                        if($(this)[0].currentTime > time)
    684                                 $(this).mediaspip_messages('seek_back',mediaspip_player_lang.statut_seek_back+' '+time_affiche);
     649                                $(this).ms_messages('seek_back',ms_player_lang.statut_seek_back+' '+time_affiche);
    685650                        else
    686                                 $(this).mediaspip_messages('seek_to',mediaspip_player_lang.statut_seek_to+' '+time_affiche);
     651                                $(this).ms_messages('seek_to',ms_player_lang.statut_seek_to+' '+time_affiche);
    687652                        if(was_playing){
    688653                                $(this)[0].play();
     
    690655                },
    691656                /**
    692                  * mediaspip_seek_to_percent
     657                 * ms_seek_to_percent
    693658                 *
    694659                 * On seek à X% de la video ou du son
     
    699664                 * - update_slider boolean true/false : doit on mettre à jour le slider (pas utile quand on vient du slider justement);
    700665                 */
    701                 mediaspip_seek_to_percent : function(percent,slider,update_slider){
     666                ms_seek_to_percent : function(percent,slider,update_slider){
    702667                        var duration = $(this)[0].duration, currenttime = $(this)[0].currentTime;
    703668                       
     
    708673                       
    709674                        $(this)[0].currentTime = time;
    710                         var time_affiche = mediaspip_second_to_time(time);
     675                        var time_affiche = ms_second_to_time(time);
    711676                        if(currenttime > time)
    712                                 $(this).mediaspip_messages('seek_back',mediaspip_player_lang.statut_seek_back+' '+time_affiche);
     677                                $(this).ms_messages('seek_back',ms_player_lang.statut_seek_back+' '+time_affiche);
    713678                        else
    714                                 $(this).mediaspip_messages('seek_to',mediaspip_player_lang.statut_seek_to+' '+time_affiche);
     679                                $(this).ms_messages('seek_to',ms_player_lang.statut_seek_to+' '+time_affiche);
    715680                        if(!slider){
    716681                                var control = $(this).parent().find('.controls');
    717682                                control.find('.progress_elapsed_time').css('width',percent+'%');
    718683                                control.find('.progress_indicator').css('left',percent+'%');
    719                         }else if(update_slider){
     684                        }else if(update_slider && typeof($(this)[0].slider_control) == 'object'){
    720685                                $(this)[0].slider_control.slider("value", percent);
    721686                        }
     
    724689                 * Activer ou désactiver la boucle (mode loop)
    725690                 */
    726                 mediaspip_loop : function(){
     691                ms_loop : function(){
    727692                        var container = $(this).parent();
    728693                        if(!$(this)[0].loop && !container.hasClass('loop')){
    729                                 $(this).attr('title',mediaspip_player_lang.bouton_loop_looped);
     694                                $(this).attr('title',ms_player_lang.bouton_loop_looped);
    730695                                container.addClass('loop');
    731                                 $(this).mediaspip_messages('loop',mediaspip_player_lang.statut_loop);
    732                                 if (typeof ($(this)[0]).loop == 'boolean') {
     696                                $(this).ms_messages('loop',ms_player_lang.statut_loop);
     697                                if (typeof ($(this)[0]).loop == 'boolean')
    733698                                        $(this)[0].loop = true;
    734                                 }else {
     699                                else
    735700                                        $(this)[0].islooping = true;
    736                                 }
    737701                        }else{
    738                                 $(this).attr('title',mediaspip_player_lang.bouton_loop);
     702                                $(this).attr('title',ms_player_lang.bouton_loop);
    739703                                container.removeClass('loop');
    740                                 $(this).mediaspip_messages('unloop',mediaspip_player_lang.statut_unloop);
    741                                 if (typeof($(this)[0].loop) == 'boolean') {
    742                                         $(this)[0].loop = true;
    743                                 }else {
     704                                $(this).ms_messages('unloop',ms_player_lang.statut_unloop);
     705                                if (typeof($(this)[0].loop) == 'boolean')
     706                                        $(this)[0].loop = false;
     707                                else
    744708                                        $(this)[0].islooping = false;
    745                                 }
    746709                                $(this).removeAttr('loop');
    747710                        }
    748711                },
    749                 mediaspip_fullscreen : function(){
     712                ms_fullscreen : function(){
    750713                        var container = $(this).parent(),
    751714                                id_container = container[0];
     
    757720                                        id_container.origWidth = container.width();
    758721                                        id_container.origHeight = container.height();
    759                                         if (fullScreenApi.supportsFullScreen) {
    760                                                 $(this).mediaspip_fullscreen_resize();
    761                                         }else{
     722                                        if (fullScreenApi.supportsFullScreen)
     723                                                $(this).ms_fullscreen_resize();
     724                                        else{
    762725                                                $('body').css({'overflow' : 'hidden', '-moz-user-select' : 'none'});
    763                                                 $(this).mediaspip_fullscreen_resize();
     726                                                $(this).ms_fullscreen_resize();
    764727                                                $(window).unbind('resize').resize(function(){
    765                                                         $(this).mediaspip_fullscreen_resize();
     728                                                        $(this).ms_fullscreen_resize();
    766729                                                });
    767730                                        }
     
    772735                                                container.bind('fullscreen_resize',function(){
    773736                                                        container.css({width:id_container.origWidth,height:id_container.origHeight}).removeClass('media_wrapper_full');
    774                                                         $(this).mediaspip_resize_controls();
     737                                                        $(this).ms_resize_controls();
    775738                                                });
    776739                                        }else{
    777740                                                container.bind('fullscreen_resize',function(){
    778741                                                        container.removeClass('media_wrapper_full').animate({width:id_container.origWidth+'px',height:id_container.origHeight+'px',left:'0',top:'0'},500,function(){
    779                                                                 $(this).mediaspip_resize_controls();
     742                                                                $(this).ms_resize_controls();
    780743                                                        });
    781744                                                });
    782745                                                $(this).bind('fullscreen_resize',function(){
    783746                                                        $(this).animate({width:$(this)[0].videoOrigWidth+'px',height:$(this)[0].videoOrigHeight+'px',left:'0',top:'0'},500,function(){
    784                                                                 $(this).mediaspip_resize_controls();
     747                                                                $(this).ms_resize_controls();
    785748                                                        });
    786749                                                });
     
    789752                                        }
    790753                                        container.add($(this)).trigger('fullscreen_resize').unbind('fullscreen_resize');
    791                                         container.find('.controls').addClass('small').find('span.fullwindow_button').attr('title',mediaspip_player_lang.bouton_fullscreen);
     754                                        container.find('.controls').addClass('small').find('span.fullwindow_button').attr('title',ms_player_lang.bouton_fullscreen);
    792755                                }
    793756                        }
    794757                },
    795                 mediaspip_fullscreen_resize : function(){
     758                ms_fullscreen_resize : function(){
    796759                        var container = $(this).parent(),
    797760                                id_container = container[0],
     
    801764                                width_final = ($(this)[0].videoWidth*ratio).toFixed();
    802765       
    803                         container.find('span.fullwindow_button').attr('title',mediaspip_player_lang.bouton_fullscreen_full);
     766                        container.find('span.fullwindow_button').attr('title',ms_player_lang.bouton_fullscreen_full);
    804767                       
    805768                        if (fullScreenApi.supportsFullScreen) {
     
    807770                                $(this).css({width:'100%',height:'100%'});
    808771                                (fullScreenApi.prefix === '') ? id_container.requestFullScreen() : id_container[fullScreenApi.prefix + 'RequestFullScreen']();
    809                                 $(this).mediaspip_resize_controls();
     772                                $(this).ms_resize_controls();
    810773                        }else{
    811774                                container.css({width:'100%',height:'100%',left:'0',top:'0'}).addClass('media_wrapper_full').find('.controls').removeClass('small');
     
    819782                                        $(this).css({position:'auto',width:width_final+'px',height:window_height+'px',left:left+'px',top:'0'});
    820783                                }
    821                                 media.mediaspip_resize_controls();
     784                                media.ms_resize_controls();
    822785                        }
    823786                },
     
    826789                 * Change dynamiquement la taille de la barre de progression et de son conteneur
    827790                 * en fonction de la taille du lecteur.
    828                  *
     791                 *
     792                 * @param force boolean true / false : permet d'éviter de boucle lorsque la taille du lecteur est petite
     793                 *
    829794                 * La largeur du conteneur de la barre de progession correspond à :
    830795                 * - La largeur du lecteur
     
    837802                 * - Moins la largeur de l'indication de temps ecoulé (inclus ses margins, padding et bordures droite et gauche)
    838803                 * - Moins la largeur de l'indication de temps restant (inclus ses margins, padding et bordures droite et gauche)
     804                 *
     805                 * Si on a un petit lecteur, que l'on a le slider de volume et que celui-ci est horizontal, on le force à passer vertical
     806                 *
    839807                 */
    840                 mediaspip_resize_controls : function(force){
     808                ms_resize_controls : function(force){
    841809                        var control = $(this).parent().find('.controls'),
    842                                 width = control.width(),
    843810                                play_width = control.find('.buttons_left').outerWidth()+parseFloat(control.find('.buttons_left').css('margin-left'))+parseFloat(control.find('.buttons_left').css('margin-right')),
    844811                                sound_width = control.find('.buttons_right').outerWidth()+parseFloat(control.find('.buttons_right').css('margin-left'))+parseFloat(control.find('.buttons_right').css('margin-right')),
    845                                 progresswidth = parseFloat(width)-parseFloat(play_width)-parseFloat(sound_width) - parseFloat(control.find('.progress_bar').css('border-left-width')) - parseFloat(control.find('.progress_bar').css('border-right-width'))-parseFloat(control.find('.progress_bar').css('margin-right')) - parseFloat(control.find('.progress_bar').css('margin-left')) - parseFloat(control.find('.progress_bar').css('padding-right')) - parseFloat(control.find('.progress_bar').css('padding-left'));
     812                                progresswidth = parseFloat(control.width())-parseFloat(play_width)-parseFloat(sound_width) - parseFloat(control.find('.progress_bar').css('border-left-width')) - parseFloat(control.find('.progress_bar').css('border-right-width'))-parseFloat(control.find('.progress_bar').css('margin-right')) - parseFloat(control.find('.progress_bar').css('margin-left')) - parseFloat(control.find('.progress_bar').css('padding-right')) - parseFloat(control.find('.progress_bar').css('padding-left'));
    846813                       
    847814                        control.find('.progress_bar').width(progresswidth);
     
    851818                                progressback_width = progresswidth - elapsed_width - remaining_width - parseFloat(control.find('.progress_back').css('border-left-width')) - parseFloat(control.find('.progress_back').css('border-right-width'))-parseFloat(control.find('.progress_back').css('margin-right')) - parseFloat(control.find('.progress_back').css('margin-left')) - parseFloat(control.find('.progress_back').css('padding-right')) - parseFloat(control.find('.progress_back').css('padding-left'))-2;
    852819                       
    853                         if(progressback_width < 0 && !force){
     820                        if(slider && progressback_width < 0 && !force){
    854821                                if($(this)[0].slider && (typeof($(this)[0].slider_volume) == 'object')){
    855822                                        $(this)[0].slider_volume.slider('option',{'orientation':'vertical'});
    856823                                        control.find('.volume_slider_container').removeClass('horizontal').addClass('vertical');
    857824                                }
    858                                 $(this).mediaspip_resize_controls(true);
     825                                $(this).ms_resize_controls(true);
    859826                        }else{
    860827                                control.find('.progress_back').width(progressback_width);
     
    863830                /**
    864831                 * Modifie le message dans la boite de message si présente
     832                 *
     833                 * @param type string : type de message (utilisé comme class sur le span entourant le message)
     834                 * @param message string : le contenu du message
    865835                 */
    866                 mediaspip_messages : function(type,message){
     836                ms_messages : function(type,message){
    867837                        var messages, options = $(this)[0].options;
    868                        
     838
    869839                        if(!options.messages) return;
    870840                       
    871                         if($(this).is('.media_wrapper')){
    872                                 messages = $(this).find('.messages');
    873                         }else{
    874                                 messages = $(this).parents('.media_wrapper').find('.messages');
    875                         }
     841                        if($(this).is('.media_wrapper')) messages = $(this).find('.messages');
     842                        else messages = $(this).parents('.media_wrapper').find('.messages');
    876843
    877844                        var fade_play = function() {
    878                                 messages.fadeOut(function(){
    879                                         $(this).html('');
    880                                 });
     845                                messages.fadeOut(function(){ $(this).html(''); });
    881846                        };
    882847                       
     
    898863                 * on regarde si on a une fonction de fallback flash et dans ce cas on l'utilise.
    899864                 */
    900                 mediaspip_test_fallback : function(options){
    901                         if(typeof($.fn.mediaspip_fallback_flash) == 'function'){
    902                                 if(jQuery.browser.msie){
     865                ms_test_fallback : function(options){
     866                        if(typeof($.fn.ms_fallback_flash) == 'function'){
     867                                if(jQuery.browser.msie)
    903868                                        var sources = $(this).parent().children("source");
    904                                 }else{
     869                                else
    905870                                        var sources = $(this).children("source");
    906                                 }
    907871                                $.each(sources, function(index, value){
    908872                                        if(($(this).attr('type').match('video/x-flv'))||($(this).attr('type').match('video/mp4'))||($(this).attr('type').match('audio/mpeg'))){
    909                                                 $(this).parent('div').mediaspip_fallback_flash({
     873                                                $(this).parent('div').ms_fallback_flash({
    910874                                                        flowurl:options.flowurl,
    911875                                                        flasherror:options.flasherror?options.flasherror:'',
     
    926890                        }
    927891                },
    928                 mediaspip_update_loaded : function(e){
     892                ms_update_loaded : function(e){
    929893                        var percent_loaded = null;
    930894                        if($(this)[0].buffered && $(this)[0].buffered.length)
    931                                 percent_loaded = mediaspip_anything_to_percent($(this)[0].buffered.end(0),$(this)[0].duration);
     895                                percent_loaded = ms_anything_to_percent($(this)[0].buffered.end(0),$(this)[0].duration);
    932896                        else if((typeof(e.loaded) != 'undefined') && (typeof(e.total) != 'undefined'))
    933                                 percent_loaded = mediaspip_anything_to_percent(e.loaded,e.total);
     897                                percent_loaded = ms_anything_to_percent(e.loaded,e.total);
    934898                        if(percent_loaded != null){
    935899                                $(this)[0].percent_loaded = percent_loaded;
     
    943907         * -* esc : sort du fullscreen
    944908         * -* f : passe en fullscreen sur la video en lecture ou sur celle en hover/focus
     909         * -* l : active ou désactive la lecture en boucle
    945910         * -* space : lance la lecture d'une vidéo ou la met en pause
     911         * -* flÚches haut et bas : augmente ou baisse le volume
     912         * -* flÚches gauche et droite : recule ou avance la lecture de 5%
    946913         */
    947914        $(document).keydown(function(e) {
    948             /**
    949              * Touche esc
    950              * Sort du mode fullscreen (uniquement sur videos)
    951              */
    952             if (e.keyCode == 27) {
    953                 $('video').each(function(){
    954                         if (!fullScreenApi.supportsFullScreen) {
    955                                 if($(this)[0].isFullScreen){
    956                                         e.preventDefault();
    957                                         $(this).mediaspip_fullscreen();
    958                                         return;
    959                                 }
    960                         }
    961                         return;
    962                 });
    963             }
    964             /**
    965              * Touche f
    966              * Active le fullscreen sur la video en lecture ou la video en hover/focus
    967              * (uniquement sur videos)
    968              */
    969             if (e.keyCode == 70) {
    970                 $('video').each(function(){
    971                         if(!$(this)[0].isFullScreen && (($('input:focus,textarea:focus').size() == 0) && (!$(this)[0].paused && !$(this)[0].ended))){
    972                                 $(this).mediaspip_fullscreen();
    973                                 return;
    974                         }
    975                 });
    976             }
    977             /**
    978              * Touche l
    979              * Active ou désactive le mode boucle (loop) sur le média en cours de lecture
    980              */
    981             if (e.keyCode == 76) {
    982                 $('video,audio').each(function(){
    983                         if((($('input:focus,textarea:focus').size() == 0) && (!$(this)[0].paused && !$(this)[0].ended))){
    984                                 $(this).mediaspip_loop();
    985                                 return;
    986                         }
    987                 });
    988             }
    989             /**
    990              * Touche Space
    991              * Lance la lecture ou met le media en pause
    992              */
    993             if (e.keyCode == 32) {
    994                 if(media_hover){
    995                         if(media_hover[0].isFullScreen||($('input:focus,textarea:focus').size() == 0)){
    996                                 e.preventDefault();
    997                                 media_hover.mediaspip_play_pause();
    998                                 return;
    999                         }
    1000                 }
    1001                 $('video,audio').each(function(){
    1002                         if($(this)[0].isFullScreen||(($('input:focus,textarea:focus').size() == 0) && (!$(this)[0].paused && !$(this)[0].ended))){
    1003                                 e.preventDefault();
    1004                                 media_hover = $(this);
    1005                                 media_hover.mediaspip_play_pause();
    1006                                 return;
    1007                         }
    1008                 });
    1009             }
    1010             /**
    1011              * Touches Up et Down
    1012              * Baisse ou augmente de 10% le volume de la video en cours de lecture
    1013              */
    1014             if (e.keyCode == 38 || e.keyCode == 40) {
    1015                 if(media_hover){
    1016                         if(media_hover[0].isFullScreen||($('input:focus,textarea:focus').size() == 0)){
    1017                                 e.preventDefault();
    1018                                 if(!media_hover[0].muted){
    1019                                                 var delta  = (e.keyCode == 38) ? 1 : -1,
    1020                                                         volume = media_hover[0].volume,
    1021                                                         volume_diff = (delta > 0) ? '0.1' : '-0.1',
    1022                                                         volume_new = Math.round((volume + parseFloat(volume_diff))*10)/10;
    1023                                                 if((volume_new <= 1) && (volume_new >= 0)){
    1024                                                         media_hover[0].volume = volume_new;
    1025                                                 }
    1026                                         }
    1027                                 return;
    1028                         }
    1029                 }
    1030                 $('video,audio').each(function(){
    1031                         if($(this)[0].isFullScreen||(($('input:focus,textarea:focus').size() == 0) && (!$(this)[0].paused && !$(this)[0].ended))){
    1032                                 e.preventDefault();
    1033                                 if(!$(this)[0].muted){
    1034                                                 var delta  = (e.keyCode == 38) ? 1 : -1,
    1035                                                         volume = $(this)[0].volume,
    1036                                                         volume_diff = (delta > 0) ? '0.1' : '-0.1',
    1037                                                         volume_new = Math.round((volume + parseFloat(volume_diff))*10)/10;
    1038                                                 if((volume_new <= 1) && (volume_new >= 0)){
    1039                                                         $(this)[0].volume = volume_new;
    1040                                                 }
    1041                                         }
    1042                                 return;
    1043                         }
    1044                 });
    1045             }
    1046             /**
    1047              * Gauche (37) et droite (39)
    1048              * Avance ou recule de 5% la video en cours de lecture
    1049              * Il faut également modifier la valeur de la barre
    1050              */
    1051             if (e.keyCode == 37 || e.keyCode == 39) {
    1052                 if(media_hover){
    1053                         if(media_hover[0].isFullScreen||($('input:focus,textarea:focus,select:focus').size() == 0)){
    1054                                 e.preventDefault();
    1055                                 var pourcent_actuel = ((media_hover[0].currentTime / media_hover[0].duration) * 100);
    1056                                 switch (e.keyCode) {
    1057                                         case 37:
    1058                                                 var new_percent = (pourcent_actuel >= 5) ? (pourcent_actuel - 5) : 0;
    1059                                                 media_hover.mediaspip_seek_to_percent(new_percent,media_hover[0].slider,true);
    1060                                         default:
    1061                                                 var new_percent = (pourcent_actuel > 95) ? 100 : (pourcent_actuel + 5);
    1062                                                 media_hover.mediaspip_seek_to_percent(new_percent,media_hover[0].slider,true);
     915                var meta_key_pressed = e.ctrlKey || e.metaKey || e.altKey || e.shiftKey;
     916                if(!meta_key_pressed){
     917                        switch (e.keyCode) {
     918                                case 27 :
     919                                        /**
     920                                     * Touche esc
     921                                     * Sort du mode fullscreen (uniquement sur videos)
     922                                     */
     923                                        $('video').each(function(){
     924                                        if (!fullScreenApi.supportsFullScreen) {
     925                                                if($(this)[0].isFullScreen)
     926                                                        $(this).ms_fullscreen();
     927                                        }
     928                                });
     929                                        break;
     930                                case 70 :
     931                                        /**
     932                                     * Touche f
     933                                     * Active le fullscreen sur la video en lecture ou la video en hover/focus (uniquement sur videos)
     934                                     */
     935                                        $('video').each(function(){
     936                                        if(!$(this)[0].isFullScreen && (($('input:focus,textarea:focus').size() == 0) && (!$(this)[0].paused && !$(this)[0].ended)))
     937                                                $(this).ms_fullscreen();
     938                                });
     939                                        break;
     940                                case 76 :
     941                                        /**
     942                                     * Touche l
     943                                     * Active ou désactive le mode boucle (loop) sur le média en cours de lecture
     944                                     */
     945                                        $('video,audio').each(function(){
     946                                        if((($('input:focus,textarea:focus').size() == 0) && (!$(this)[0].paused && !$(this)[0].ended)))
     947                                                $(this).ms_loop();
     948                                });
     949                                        break;
     950                                case 32 :
     951                                         /**
     952                                      * Touche Space
     953                                      * Lance la lecture ou met le media en pause
     954                                      */
     955                                        if(media_hover){
     956                                        if(media_hover[0].isFullScreen||($('input:focus,textarea:focus').size() == 0))
     957                                                media_hover.ms_play_pause();
    1063958                                }
    1064                                 return;
    1065                         }
    1066                 }
    1067                 $('video,audio').each(function(){
    1068                         if($(this)[0].isFullScreen||(($('input:focus,textarea:focus,select:focus').size() == 0) && (!$(this)[0].paused && !$(this)[0].ended))){
    1069                                 e.preventDefault();
    1070                                 var pourcent_actuel = (($(this)[0].currentTime / $(this)[0].duration) * 100);
    1071                                 switch (e.keyCode) {
    1072                                         case 37:
    1073                                                 var new_percent = (pourcent_actuel >= 5) ? (pourcent_actuel - 5) : 0;
    1074                                                 $(this).mediaspip_seek_to_percent(new_percent,$(this)[0].slider,true);
    1075                                         default:
    1076                                                 var new_percent = (pourcent_actuel > 95) ? 100 : (pourcent_actuel + 5);
    1077                                                 $(this).mediaspip_seek_to_percent(new_percent,$(this)[0].slider,true);
     959                                $('video,audio').each(function(){
     960                                        if($(this)[0].isFullScreen||(($('input:focus,textarea:focus').size() == 0) && (!$(this)[0].paused && !$(this)[0].ended))){
     961                                                media_hover = $(this);
     962                                                media_hover.ms_play_pause();
     963                                        }
     964                                });
     965                                break;
     966                                case 38 : case 40 :
     967                                    /**
     968                                     * Touches Up (38) et Down (40)
     969                                     * Baisse ou augmente de 10% le volume de la video en cours de lecture
     970                                     */
     971                                        if(media_hover){
     972                                        if(media_hover[0].isFullScreen||($('input:focus,textarea:focus').size() == 0)){
     973                                                if(!media_hover[0].muted){
     974                                                                var delta  = (e.keyCode == 38) ? 1 : -1,
     975                                                                        volume = media_hover[0].volume,
     976                                                                        volume_diff = (delta > 0) ? '0.1' : '-0.1',
     977                                                                        volume_new = Math.round((volume + parseFloat(volume_diff))*10)/10;
     978                                                                if((volume_new <= 1) && (volume_new >= 0)){
     979                                                                        media_hover[0].volume = volume_new;
     980                                                                }
     981                                                        }
     982                                        }
    1078983                                }
    1079                         }
    1080           });
    1081             }
     984                                $('video,audio').each(function(){
     985                                        if($(this)[0].isFullScreen||(($('input:focus,textarea:focus').size() == 0) && (!$(this)[0].paused && !$(this)[0].ended))){
     986                                                if(!$(this)[0].muted){
     987                                                                var delta  = (e.keyCode == 38) ? 1 : -1,
     988                                                                        volume = $(this)[0].volume,
     989                                                                        volume_diff = (delta > 0) ? '0.1' : '-0.1',
     990                                                                        volume_new = Math.round((volume + parseFloat(volume_diff))*10)/10;
     991                                                                if((volume_new <= 1) && (volume_new >= 0)){
     992                                                                        $(this)[0].volume = volume_new;
     993                                                                }
     994                                                        }
     995                                        }
     996                                });
     997                                break;
     998                                case 37 : case 39 :
     999                                    /**
     1000                                     * Gauche (37) et droite (39)
     1001                                     * Avance ou recule de 5% la video en cours de lecture
     1002                                     * Il faut également modifier la valeur de la barre
     1003                                     */
     1004                                        if(media_hover){
     1005                                        if(media_hover[0].isFullScreen||($('input:focus,textarea:focus,select:focus').size() == 0)){
     1006                                                var pourcent_actuel = ((media_hover[0].currentTime / media_hover[0].duration) * 100);
     1007                                                if(e.keyCode == 37) {
     1008                                                        var new_percent = (pourcent_actuel >= 5) ? (pourcent_actuel - 5) : 0;
     1009                                                        media_hover.ms_seek_to_percent(new_percent,media_hover[0].slider,true);
     1010                                                }else{
     1011                                                        var new_percent = (pourcent_actuel > 95) ? 100 : (pourcent_actuel + 5);
     1012                                                        media_hover.ms_seek_to_percent(new_percent,media_hover[0].slider,true);
     1013                                                }
     1014                                        }
     1015                                }
     1016                                $('video,audio').each(function(){
     1017                                        if($(this)[0].isFullScreen||(($('input:focus,textarea:focus,select:focus').size() == 0) && (!$(this)[0].paused && !$(this)[0].ended))){
     1018                                                var pourcent_actuel = (($(this)[0].currentTime / $(this)[0].duration) * 100);
     1019                                                if(e.keyCode == 37) {
     1020                                                        var new_percent = (pourcent_actuel >= 5) ? (pourcent_actuel - 5) : 0;
     1021                                                        $(this).ms_seek_to_percent(new_percent,$(this)[0].slider,true);
     1022                                                }else{
     1023                                                        var new_percent = (pourcent_actuel > 95) ? 100 : (pourcent_actuel + 5);
     1024                                                        $(this).ms_seek_to_percent(new_percent,$(this)[0].slider,true);
     1025                                                }
     1026                                        }
     1027                                });
     1028                                break;
     1029                               
     1030                        }
     1031                        e.preventDefault();
     1032                }
    10821033        });
    10831034})(jQuery);
     
    10891040 * @return
    10901041 */
    1091 function mediaspip_second_to_time(seconds){
     1042function ms_second_to_time(seconds){
    10921043        if(seconds == 0) return '00:00';
    10931044        var uTime = Math.round(seconds*Math.pow(10,0))/Math.pow(10,0),
     
    11011052}
    11021053
    1103 function mediaspip_percent_to_time(percent,total){
    1104         return mediaspip_second_to_time(Math.ceil((total * percent) / 100));
     1054function ms_percent_to_time(percent,total){
     1055        return ms_second_to_time(Math.ceil((total * percent) / 100));
    11051056}
    11061057
    1107 function mediaspip_anything_to_percent(current,total){
     1058function ms_anything_to_percent(current,total){
    11081059        return Math.ceil((current / total) * 100);
    11091060}
    1110 
    1111 /**
    1112  * Fonction pour savoir si le navigateur est un iPhone
    1113  * @returns boolean true/false
    1114  */
    1115 function isiPhone() {
    1116     var agent = navigator.userAgent.toLowerCase();
    1117     return agent.match(/iPhone/i);
    1118 }
    1119 
    1120 /**
    1121  * Fonction pour savoir si le navigateur est un iPad
    1122  * @returns boolean true/false
    1123  */
    1124 function isiPad(){
    1125         var agent = navigator.userAgent.toLowerCase();
    1126     return agent.match(/iPad/i);
    1127 }
  • plugins_spip/html5/trunk/mediaspip_medias_init.js.html

    r5962 r6990  
    33#HTTP_HEADER{Vary: Accept-Encoding}
    44
    5 var erreur_flash = '<div class="formulaire_spip"><p class="reponse_formulaire_erreur">';
    6         erreur_flash += '<:mediaspip_player:message_erreur_flash:>';
    7         erreur_flash += '</p></div';
     5var erreur_flash = '<p><:mediaspip_player:message_erreur_flash{url=http://get.adobe.com/fr/flashplayer/}|texte_script:></p>';
  • plugins_spip/html5/trunk/mediaspip_player_lang.js.html

    r5962 r6990  
    33#HTTP_HEADER{Vary: Accept-Encoding}
    44
    5 var mediaspip_player_lang = {
     5var ms_player_lang = {
    66        bouton_fullscreen : '<:mediaspip_player:bouton_fullscreen|html2unicode|unicode2charset:>',
    77        bouton_fullscreen_full : '<:mediaspip_player:bouton_fullscreen_full|html2unicode|unicode2charset:>',
  • plugins_spip/html5/trunk/modeles/audio.html

    r6954 r6990  
    8888</div>
    8989<script type="text/javascript">
    90         var mediaspip_player_init_#ID_DOCUMENT = function(){
     90        var ms_player_init_#ID_DOCUMENT = function(){
    9191                $('#audio_#ID_DOCUMENT').each(function(){
    9292                        if($(this).parent('.media_wrapper').size() == 0){
    93                                 $(this).mediaspip_player_init({
     93                                $(this).ms_player_init({
    9494                                        flowurl:'[(#CHEMIN{flash/flowplayer.swf}|url_absolue)]',
    9595                                        flasherror:erreur_flash,
     
    104104        }
    105105        $(document).ready(function(){
    106                 mediaspip_player_init_#ID_DOCUMENT();
    107                 onAjaxLoad(function(){setTimeout(function(){mediaspip_player_init_#ID_DOCUMENT();},500)});
     106                ms_player_init_#ID_DOCUMENT();
     107                onAjaxLoad(function(){setTimeout(function(){ms_player_init_#ID_DOCUMENT();},500)});
    108108        });
    109109</script>
  • plugins_spip/html5/trunk/modeles/video.html

    r6860 r6990  
    1414        -* volume_slider_orientation string vertical|horizontal : l'orientation du slider de volume
    1515]
    16 
    1716<BOUCLE_tous(DOCUMENTS types_documents){id_document}{tout}>[
    1817(#REM) on trouvera plusieurs variable de hauteur/largeur
     
    2120- #GET{hauteur} et #GET{largeur} correspondent prioritairement a #ENV,
    2221  puis #LARGEUR/HAUTEUR sauf si il y a un controleur
    23 ]
    24 [
     22][
    2523(#SET{hauteur,#ENV{hauteur,#HAUTEUR}})][
    26 (#SET{largeur,#ENV{largeur,#LARGEUR}})][
    27 (#LARGEUR|!={0}|et{[(#LARGEUR|<{#ENV{largeur}})]}|oui)
    28         #SET{largeur,#LARGEUR}
    29 ][(#HAUTEUR|!={0}|et{#HAUTEUR|<{#GET{hauteur}}}|oui)
    30         #SET{hauteur,#HAUTEUR}
     24(#SET{largeur,#ENV{largeur,#LARGEUR}})][(#REM)
     25       
     26        Une largeur est passée en paramÚtre
     27        Pas de hauteur en paramÚtre
     28        Si on a largeur et hauteur en base, on calcule un ratio pour la hauteur
     29       
    3130][(#ENV{largeur}
    32         |et{#ENV{hauteur}|=={''}}
     31        |et{#ENV{hauteur,''}|=={''}}
    3332        |et{#HAUTEUR}
    3433        |et{#LARGEUR}
    35         |et{[(#LARGEUR|>{#ENV{largeur}})]}|oui)
     34        |et{[(#LARGEUR|>{#ENV{largeur,''}})]}|oui)
    3635        [(#SET{ratio,[(#LARGEUR|div{#ENV{largeur}})]})]
    3736        #SET{hauteur,#HAUTEUR|div{#GET{ratio}}|floor}
     37][(#REM)
     38       
     39        Une hauteur est passée en paramÚtre
     40        Pas de largeur en paramÚtre
     41        Si on a largeur et hauteur en base, on calcule un ratio pour la largeur
     42       
    3843][(#ENV{hauteur}
    39         |et{#ENV{largeur}|=={''}}
     44        |et{#ENV{largeur,''}|=={''}}
    4045        |et{#HAUTEUR}
    4146        |et{#LARGEUR}
     
    4449        [(#SET{ratio,[(#HAUTEUR|div{#ENV{hauteur}})]})]
    4550        #SET{largeur,#LARGEUR|div{#GET{ratio}}|floor}
    46 ][(#ENV{hauteur}|>{#ENV{hauteur}}|>{0}|<{#ENV{hauteur}}
    47         |et{[(#HAUTEUR|>{#ENV{hauteur}})]}|oui)
    48         [(#SET{ratio,[(#HAUTEUR|div{#ENV{hauteur}})]})]
    49         #SET{largeur,#LARGEUR|div{#GET{ratio}}|floor}
    50         #SET{hauteur,#ENV{hauteur}}
    51 ]
    52 [(#ROTATION|=={90}|oui)
     51][(#REM)
     52
     53        On a une rotation dans la base, on retourne le bazar
     54
     55][(#ROTATION|=={90}|oui)
    5356        #SET{largeur2,#GET{hauteur}}
    5457        #SET{hauteur,#GET{largeur}}
    5558        #SET{largeur,#GET{largeur2}}
    56 ]
    57 [(#REM)
     59][(#REM)
    5860
    5961        Si la taille est zero, mettre une valeur par defaut 320x240
     
    6163][(#GET{hauteur}|et{#GET{largeur}}|?{'',
    6264        [(#SET{largeur,320})][(#SET{hauteur,240})]
    63 })][
    64 (#REM)
     65})][(#REM)
     66       
    6567        Pour quicktime il faut ajouter 16 pixels en hauteur
    6668        cf. http://article.gmane.org/gmane.comp.web.spip.zone/9231/match=quicktime
    67 ][
    68 (#EXTENSION|=={mov}|?{#SET{hauteur,#GET{hauteur}|plus{16}}})
     69
     70][(#EXTENSION|=={mov}|?{#SET{hauteur,#GET{hauteur}|plus{16}}})]
     71[(#GET{largeur}|match{%}|non)
     72        [(#SET{logo,[(#ENV{logo,#LOGO_DOCUMENT|extraire_attribut{src}}|image_passe_partout{#GET{largeur},#GET{hauteur}}|image_recadre{#GET{largeur},#GET{hauteur}}|extraire_attribut{src}|url_absolue)]})]
    6973]
    70 
    71 [(#SET{logo,[(#ENV{logo,#LOGO_DOCUMENT|extraire_attribut{src}}|image_passe_partout{#GET{largeur},#GET{hauteur}}|image_recadre{#GET{largeur},#GET{hauteur}}|extraire_attribut{src}|url_absolue)]})]
     74[(#GET{largeur}|match{%}|oui)
     75        [(#SET{logo,[(#ENV{logo,#LOGO_DOCUMENT|extraire_attribut{src}}|url_absolue)]})]
     76]
    7277
    7378<div class='spip_document_#ID_DOCUMENT spip_documents[ spip_documents_(#ENV{align})] video'[
    7479        style='[(#ENV{align}|match{^(left|right)$}|?{' '})float:#ENV{align};] (#ENV{align,center}|=={center}|?{'',' '})'] id="media_#ID_DOCUMENT">
    75         <div class="media video" style="[width:(#GET{largeur}|max{120})px;][height:(#GET{hauteur}|max{100})px;]">
    76                 <div>   
    77                 <video id="video_#ID_DOCUMENT"[
    78                         (#ENV{controls,true}|in_array{#ARRAY{0,false,1,non}}|non)controls="controls"][
    79                         (#ENV{autoplay,#ENV{autostart,non}}|in_array{#ARRAY{0,false,1,non}}|non)autoplay="autoplay"][(#ENV{autobuffer,#ENV{preload,metadata}}|in_array{#ARRAY{0,false,1,non}}|non)[
    80                         (#ENV{autobuffer,#ENV{preload,metadata}}|in_array{#ARRAY{0,auto,1,metadata}}|?{[preload="(#ENV{autobuffer,#ENV{preload,metadata}})"],preload="metadata"})]][(#ENV{loop,non}|in_array{#ARRAY{0,false,1,non}}|non)
    81                         loop="loop"][(#ENV{noresize}?{' class="noresize" ',''})][
    82                         width="(#GET{largeur})"][
    83                         height="(#GET{hauteur})"][
    84                         poster="(#GET{logo})"
    85                         ]id="video_#ID_DOCUMENT">
    86                         #SET{variantes,#ARRAY}
    87                         <BOUCLE_variantes(DOCUMENTS){mode=conversion}{objet=document}{id_objet=#ENV{id_document,#ENV{id}}}{statut==.*}>#SET{variantes,#GET{variantes}|push{#EXTENSION}}</BOUCLE_variantes>[
    88                         (#EXTENSION|=={mp4}|et{#EXTENSION|in_array{#GET{variantes}}|non}|oui)
    89                                 <source[ type="(#EXTENSION|in_array{#ARRAY{0,mp4,1,m4v}}|?{'video/mp4',#MIME_TYPE}|trim)[;codecs=(#VIDEOCODECID)[,(#AUDIOCODECID)]]"] src="[(#FICHIER|timestamp|url_absolue)]" />
    90                         ]<BOUCLE_ssdoc_mp4(DOCUMENTS){mode=conversion}{objet=document}{id_objet=#ENV{id_document,#ENV{id}}}{extension IN m4v,mp4,mov}{par extension}{tout}>
    91                                 <source[ type="(#EXTENSION|in_array{#ARRAY{0,mp4,1,m4v}}|?{'video/mp4',#MIME_TYPE}|trim)[;codecs=(#VIDEOCODECID)[,(#AUDIOCODECID)]]"] src="[(#FICHIER|timestamp|url_absolue)]" />
    92                         </BOUCLE_ssdoc_mp4>
    93                         <BOUCLE_ssdoc(DOCUMENTS){mode=conversion}{objet=document}{id_objet=#ENV{id_document,#ENV{id}}}{extension IN flv,ogv,ogg,webm}{par extension}{tout}>
    94                                 <source[ type="(#EXTENSION|in_array{#ARRAY{0,mp4,1,m4v}}|?{'video/mp4',#MIME_TYPE}|trim)[;codecs=(#VIDEOCODECID)[,(#AUDIOCODECID)]]"] src="[(#FICHIER|timestamp|url_absolue)]" />
    95                         </BOUCLE_ssdoc>[
    96                         (#EXTENSION|in_array{[(#ARRAY|push{ogg}|push{ogv}|push{flv}|push{webm})]}|et{[(#EXTENSION|in_array{#GET{variantes}}|non)]}|oui)
    97                                 <source[ type="(#EXTENSION|in_array{#ARRAY{0,mp4,1,m4v}}|?{'video/mp4',#MIME_TYPE}|trim)[;codecs=(#VIDEOCODECID)[,(#AUDIOCODECID)]]"] src="[(#FICHIER|timestamp|url_absolue)]" />]
    98                 </video>
     80        <div class="media video">
     81                <div>
     82                        <video id="video_#ID_DOCUMENT"[
     83                                (#ENV{controls,true}|in_array{#ARRAY{0,false,1,non}}|non)controls="controls"][
     84                                (#ENV{autoplay,#ENV{autostart,non}}|in_array{#ARRAY{0,false,1,non}}|non)autoplay="autoplay"][(#ENV{autobuffer,#ENV{preload,metadata}}|in_array{#ARRAY{0,false,1,non}}|non)[
     85                                (#ENV{autobuffer,#ENV{preload,metadata}}|in_array{#ARRAY{0,auto,1,metadata}}|?{[preload="(#ENV{autobuffer,#ENV{preload,metadata}})"],preload="metadata"})]][(#ENV{loop,non}|in_array{#ARRAY{0,false,1,non}}|non)
     86                                loop="loop"][(#ENV{noresize}?{' class="noresize" ',''})][
     87                                width="(#GET{largeur})"][
     88                                height="(#GET{hauteur})"][
     89                                poster="(#GET{logo})"
     90                                ]id="video_#ID_DOCUMENT">
     91                                #SET{variantes,#ARRAY}
     92                                <BOUCLE_variantes(DOCUMENTS){mode=conversion}{objet=document}{id_objet=#ENV{id_document,#ENV{id}}}{statut==.*}>#SET{variantes,#GET{variantes}|push{#EXTENSION}}</BOUCLE_variantes>[
     93                                (#EXTENSION|=={mp4}|et{#EXTENSION|in_array{#GET{variantes}}|non}|oui)
     94                                        <source[ type="(#EXTENSION|in_array{#ARRAY{0,mp4,1,m4v}}|?{'video/mp4',#MIME_TYPE}|trim)[;codecs=(#VIDEOCODECID)[,(#AUDIOCODECID)]]"] src="[(#FICHIER|timestamp|url_absolue)]" />
     95                                ]<BOUCLE_ssdoc_mp4(DOCUMENTS){mode=conversion}{objet=document}{id_objet=#ENV{id_document,#ENV{id}}}{extension IN m4v,mp4,mov}{par extension}{tout}>
     96                                        <source[ type="(#EXTENSION|in_array{#ARRAY{0,mp4,1,m4v}}|?{'video/mp4',#MIME_TYPE}|trim)[;codecs=(#VIDEOCODECID)[,(#AUDIOCODECID)]]"] src="[(#FICHIER|timestamp|url_absolue)]" />
     97                                </BOUCLE_ssdoc_mp4>
     98                                <BOUCLE_ssdoc(DOCUMENTS){mode=conversion}{objet=document}{id_objet=#ENV{id_document,#ENV{id}}}{extension IN flv,ogv,ogg,webm}{par extension}{tout}>
     99                                        <source[ type="(#EXTENSION|in_array{#ARRAY{0,mp4,1,m4v}}|?{'video/mp4',#MIME_TYPE}|trim)[;codecs=(#VIDEOCODECID)[,(#AUDIOCODECID)]]"] src="[(#FICHIER|timestamp|url_absolue)]" />
     100                                </BOUCLE_ssdoc>[
     101                                (#EXTENSION|in_array{[(#ARRAY|push{ogg}|push{ogv}|push{flv}|push{webm})]}|et{[(#EXTENSION|in_array{#GET{variantes}}|non)]}|oui)
     102                                        <source[ type="(#EXTENSION|in_array{#ARRAY{0,mp4,1,m4v}}|?{'video/mp4',#MIME_TYPE}|trim)[;codecs=(#VIDEOCODECID)[,(#AUDIOCODECID)]]"] src="[(#FICHIER|timestamp|url_absolue)]" />]
     103                        </video>
    99104                </div>
    100105        </div>
     
    105110</div>
    106111<script type="text/javascript">
    107         var mediaspip_player_init_#ID_DOCUMENT = function(){
     112        var ms_player_init_#ID_DOCUMENT = function(){
    108113                $('#video_#ID_DOCUMENT').each(function(){
    109114                        if($(this).parent('.media_wrapper').size() == 0){
    110                                 $(this).mediaspip_player_init({
     115                                $(this).ms_player_init({
    111116                                        flowurl:'[(#CHEMIN{flash/flowplayer.swf}|url_absolue)]',
    112117                                        flasherror:erreur_flash,[
    113                                         (#ENV{largeur}|oui)[minwidth : (#ENV{largeur}),]
     118                                        (#ENV{largeur}|oui)[minwidth : '(#ENV{largeur})',]
    114119                                        ]movieSize:'adapt',[(#CONFIG{mediaspip_player/cookie_volume}|=={oui}|oui),
    115120                                        cookie_volume:true,][
     
    121126        }
    122127        $(document).ready(function(){
    123                 mediaspip_player_init_#ID_DOCUMENT();
    124                 onAjaxLoad(function(){setTimeout(function(){mediaspip_player_init_#ID_DOCUMENT();},500)});
     128                ms_player_init_#ID_DOCUMENT();
     129                onAjaxLoad(function(){setTimeout(function(){ms_player_init_#ID_DOCUMENT();},500)});
    125130        });
    126131</script>
  • plugins_spip/html5/trunk/paquet.xml

    r6853 r6990  
    22        prefix="mediaspip_player"
    33        categorie="multimedia"
    4         version="1.2.0"
     4        version="1.2.1"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.0.99]"
Note: See TracChangeset for help on using the changeset viewer.