Ignore:
Timestamp:
11/10/12 16:23:42 (7 years ago)
Author:
kent1
Message:

Passer les options correctes au fallback flash

On gère les boutons_caches et muted / muted_bloque / volume_bloque

Location:
plugins_spip/html5/trunk/javascript
Files:
2 edited

Legend:

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

    r6999 r7138  
    3030                                cookie_volume: false,
    3131                                messages: true,
     32                                muted : false, // Le lecteur n'est pas mute par défaut
     33                                muted_bloque : false, // On autorise le switch mute/unmute sur le lecteur
    3234                                volume_slider_orientation: 'horizontal',
    33                                 flasherror: 'Error : Flash is not installed'
     35                                flasherror: 'Error : Flash is not installed',
     36                                boutons_caches:[]
    3437                        },
    3538                        media = $(this),
     
    4245                       
    4346                        options = $.extend(defaults, options);
    44 
    4547                        liens = sm2_chercher_liens(options.sources,liens);
    4648                        media[0].options = options;
     
    7880                                                +'<em class="remaining_time remaining" title="'+ms_player_lang.info_restant+'"></em>'
    7981                                        +'</div>'
    80                                         +'<div class="buttons_right">'
    81                                                 +'<span class="volume_button" title="'+ms_player_lang.bouton_volume+' ('+options.volume+'%)"></span>';
     82                                        +'<div class="buttons_right">';
     83                                        lecteur += ($.inArray('volume',options.boutons_caches) == 0) ? '' : '<span class="volume_button" title="'+ms_player_lang.bouton_volume+' ('+Math.floor(options.volume*100)+'%)"></span>';
    8284                                        /**
    8385                                         * Si on a les sliders, on ajoute une div ici pour avoir un slider de volume
    8486                                         */
    85                                         lecteur += slider ? '<span class="volume_slider_container '+options.volume_slider_orientation+'"><span class="volume_slider"></span></span>' : '';
    86                                         lecteur += '<span class="loop_button" title="'+ms_player_lang.bouton_loop+'"></span>';
     87                                        lecteur += (slider && $.inArray('volume',options.boutons_caches) == '-1') ? '<span class="volume_slider_container '+options.volume_slider_orientation+'"><span class="volume_slider"></span></span>' : '';
     88                                        lecteur += ($.inArray('loop',options.boutons_caches) == '-1') ? '<span class="loop_button" title="'+ms_player_lang.bouton_loop+'"></span>' : '';
    8789                                        lecteur +='</div>'
    8890                                        + '</div>';
    89        
     91
    9092                                media.html(lecteur);
    9193                               
     
    115117                                        if(typeof(clip.looped) == 'undefined')
    116118                                                clip.looped = false;
    117                                                 controls.find('.loop_button').unbind('click').click(function(e){
    118                                                         if(clip.looped){
    119                                                                 clip.looped = false;
    120                                                                 $(this).attr('title',ms_player_lang.bouton_loop);
    121                                                                 media.ms_messages('loop',ms_player_lang.statut_unloop,options);
    122                                                                 wrapper.removeClass('loop');
    123                                                         }else{
    124                                                                 clip.looped = true;
    125                                                                 $(this).attr('title',ms_player_lang.bouton_loop_looped);
    126                                                                 media.ms_messages('loop',ms_player_lang.statut_loop,options);
    127                                                                 wrapper.addClass('loop');
    128                                                         }
    129                                                         });
     119                                        if($.inArray('loop',options.boutons_caches) == '-1'){
     120                                                        controls.find('.loop_button').unbind('click').click(function(e){
     121                                                                if(clip.looped){
     122                                                                        clip.looped = false;
     123                                                                        $(this).attr('title',ms_player_lang.bouton_loop);
     124                                                                        media.ms_messages('loop',ms_player_lang.statut_unloop,options);
     125                                                                        wrapper.removeClass('loop');
     126                                                                }else{
     127                                                                        clip.looped = true;
     128                                                                        $(this).attr('title',ms_player_lang.bouton_loop_looped);
     129                                                                        media.ms_messages('loop',ms_player_lang.statut_loop,options);
     130                                                                        wrapper.addClass('loop');
     131                                                                }
     132                                                                });
     133                                        }
    130134                                        if(typeof(clip.duration) != 'undefined'){
    131135                                                var duration = ms_second_to_time(clip.duration);
     
    250254                                                        });
    251255                                                }
    252                                         controls.find('.volume_button').click(function(e){
    253                                                 var status = player.getStatus();
    254                                                         if(status.muted){
    255                                                                 if(cookies && options.cookie_volume) $.cookie('ms_volume_muted',null);
    256                                                                 if(typeof(player.slider_volume) == 'object') player.slider_volume.slider('enable');
    257                                                                 var volume_title = ms_player_lang.bouton_volume+' ('+Math.floor(player.getVolume())+'%)';
    258                                                                 controls.find('.volume_button').removeClass('muted').attr('title',volume_title);
    259                                                                 player.unmute();
    260                                                                 media.ms_messages('mute',ms_player_lang.statut_unmute,options);
    261                                                         }else{
    262                                                                 if(cookies && options.cookie_volume) $.cookie('ms_volume_muted','muted');
    263                                                                 if(typeof(player.slider_volume) == 'object') player.slider_volume.slider('disable');
    264                                                                 controls.find('.volume_button').addClass('muted').attr('title',ms_player_lang.bouton_volume_muted);
    265                                                                 player.mute();
    266                                                                 media.ms_messages('mute',ms_player_lang.statut_mute,options);
    267                                                         }
    268                                                 });
     256                                                if($.inArray('volume',options.boutons_caches) == '-1' && !options.muted_bloque){
     257                                                controls.find('.volume_button').click(function(e){
     258                                                        var status = player.getStatus();
     259                                                                if(status.muted){
     260                                                                        if(cookies && options.cookie_volume) $.cookie('ms_volume_muted',null);
     261                                                                        if(typeof(player.slider_volume) == 'object') player.slider_volume.slider('enable');
     262                                                                        var volume_title = ms_player_lang.bouton_volume+' ('+Math.floor(player.getVolume())+'%)';
     263                                                                        controls.find('.volume_button').removeClass('muted').attr('title',volume_title);
     264                                                                        player.unmute();
     265                                                                        media.ms_messages('mute',ms_player_lang.statut_unmute,options);
     266                                                                }else{
     267                                                                        if(cookies && options.cookie_volume) $.cookie('ms_volume_muted','muted');
     268                                                                        if(typeof(player.slider_volume) == 'object') player.slider_volume.slider('disable');
     269                                                                        controls.find('.volume_button').addClass('muted').attr('title',ms_player_lang.bouton_volume_muted);
     270                                                                        player.mute();
     271                                                                        media.ms_messages('mute',ms_player_lang.statut_mute,options);
     272                                                                }
     273                                                        });
     274                                                }
    269275                                });
    270276                               
     
    274280                                        if(slider){
    275281                                                        controls.find('.progress_indicator').hide();
    276                                                         player.slider_volume = controls.find('.volume_slider').slider({
    277                                                                 value:100,
    278                                                                 orientation: options.volume_slider_orientation,
    279                                                                 min:0,
    280                                                                 max:100,
    281                                                                 range: "min",
    282                                                                 slide: function(event,ui){
    283                                                                         /**
    284                                                                          * On change le volume
    285                                                                          */
    286                                                                         var volume_new = ui.value;
    287                                                                         if((volume_new <= 100) && (volume_new >= 0)){
    288                                                                                 player.setVolume(volume_new);
    289                                                                                 wrapper.flow_change_volume(volume_new,player.slider_volume,false,options);
    290                                                                                 if(cookies && options.cookie_volume) $.cookie('ms_volume', volume_new/100);
     282                                                        if($.inArray('volume',options.boutons_caches) == '-1'){
     283                                                                player.slider_volume = controls.find('.volume_slider').slider({
     284                                                                        value:100,
     285                                                                        orientation: options.volume_slider_orientation,
     286                                                                        min:0,
     287                                                                        max:100,
     288                                                                        disabled: (options.volume_bloque) ? true : false,
     289                                                                        range: "min",
     290                                                                        slide: function(event,ui){
     291                                                                                /**
     292                                                                                 * On change le volume
     293                                                                                 */
     294                                                                                var volume_new = ui.value;
     295                                                                                if((volume_new <= 100) && (volume_new >= 0)){
     296                                                                                        player.setVolume(volume_new);
     297                                                                                        wrapper.flow_change_volume(volume_new,player.slider_volume,false,options);
     298                                                                                        if(cookies && options.cookie_volume) $.cookie('ms_volume', volume_new/100);
     299                                                                                }
     300                                                                        },
     301                                                                        stop: function(event,ui){
     302                                                                                /**
     303                                                                                 * On change le volume et on le sauvegarde dans le cookie si nécessaire
     304                                                                                 */
     305                                                                                var volume_new = ui.value;
     306                                                                                if((volume_new <= 100) && (volume_new >= 0)){
     307                                                                                        player.setVolume(volume_new);
     308                                                                                        wrapper.flow_change_volume(volume_new,player.slider_volume,false,options);
     309                                                                                        if(cookies && options.cookie_volume) $.cookie('ms_volume', volume_new/100);
     310                                                                                }
     311                                                                               
    291312                                                                        }
    292                                                                 },
    293                                                                 stop: function(event,ui){
    294                                                                         /**
    295                                                                          * On change le volume et on le sauvegarde dans le cookie si nécessaire
    296                                                                          */
    297                                                                         var volume_new = ui.value;
    298                                                                         if((volume_new <= 100) && (volume_new >= 0)){
    299                                                                                 player.setVolume(volume_new);
    300                                                                                 wrapper.flow_change_volume(volume_new,player.slider_volume,false,options);
    301                                                                                 if(cookies && options.cookie_volume) $.cookie('ms_volume', volume_new/100);
    302                                                                         }
    303                                                                        
    304                                                                 }
    305                                                         });
     313                                                                });
     314                                                        }
    306315                                        }
    307316                                               
     
    421430                         * - Si le volume est "muted", l'action ne fait rien
    422431                         */
    423                         if(typeof($.fn.mousewheel) != "undefined"){
     432                        if(!options.volume_bloque && typeof($.fn.mousewheel) != "undefined"){
    424433                                wrapper.find('.flowplayer,.html5_cover,.flowplayer > object').mousewheel(function(event, delta) {
    425434                                        event.preventDefault();
  • plugins_spip/html5/trunk/javascript/mediaspip_player.js

    r7095 r7138  
    921921                                $.each(sources, function(index, value){
    922922                                        if(($(this).attr('type').match('video/x-flv'))||($(this).attr('type').match('video/mp4'))||($(this).attr('type').match('audio/mpeg'))){
    923                                                 $(this).parents('div').eq(0).ms_fallback_flash({
     923                                                var defaults_flash = {
    924924                                                        flowurl:options.flowurl,
    925925                                                        flasherror:options.flasherror ? options.flasherror : '',
     
    931931                                                        poster : $(this).attr('poster'),
    932932                                                        sources : $(this)
    933                                                 });
     933                                                }
     934                                                var options_flash = $.extend(options,defaults_flash);
     935                                                $(this).parents('div').eq(0).ms_fallback_flash(options_flash);
    934936                                                /**
    935937                                                 * On s'arrête au premier élément qui nous convient
Note: See TracChangeset for help on using the changeset viewer.