Ignore:
Timestamp:
11/19/12 16:50:37 (7 years ago)
Author:
kent1
Message:

On tente de faire fonctionner un loop au démarrage sur le lecteur flash (déjà fonctionnel en html5)

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

Legend:

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

    r7154 r7157  
    2828                                height:null,
    2929                                poster:null,
     30                                loop:false,
    3031                                cookie_volume: false,
    3132                                messages: true,
     
    121122                                var allowfullscreen = isSound ? false : true,
    122123                                        media_options = {
    123                                                 onLoad:function(){
     124                                                onLoad:function(clip){
    124125                                                        this.options = options;
    125126                                                var player = this;
     
    168169                                                        wrapper.flow_resize_controls();
    169170                                        },
    170                                                 onStart:function(clip) {
     171                                        onClipAdd :function(clip){},
     172                                        onError:function(error){},
     173                                        onUnload:function(error){},
     174                                        onBeforeKeyPress:function(e){
     175                                                if(e == 76){
     176                                                        if($.inArray('loop',this.options.boutons_caches) == '-1'){
     177                                                                wrapper.find('.loop_button').click();
     178                                                }
     179                                                        return false;
     180                                                }
     181                                        },
     182                                        onKeyPress: function(e){
     183                                                if(e == 39 || e == 37){
     184                                                        if(this.isPaused()){
     185                                                                this.topause = true;
     186                                                                this.play();
     187                                                        }
     188                                                }
     189                                                if(e == 70 && !this.isFullscreen()){
     190                                                        this.toggleFullscreen();
     191                                                }
     192                                                if(e == 38 || e == 40){
     193                                                        if(!this.options.volume_bloque){
     194                                                                var volume = this.getVolume(),
     195                                                                                volume_diff = (e == 38) ? '10' : '-10',
     196                                                                                volume_new = Math.round((volume + parseFloat(volume_diff))*10)/10;
     197                                                                wrapper.flow_change_volume(volume_new,this.slider_volume,false,this.options);
     198                                                        }
     199                                                }
     200                                                if(e == 186 || e == 77){
     201                                                        if($.inArray('volume',this.options.boutons_caches) == '-1' && !this.options.muted_bloque){
     202                                                                wrapper.find('.volume_button').click();
     203                                                        }
     204                                                }
     205                                        },
     206                                clip:{
     207                                        url:liens[0],
     208                                    autoPlay:options.autoplay,
     209                                    scaling:'fit',
     210                                    autoBuffering: (isSound ? (options.autoplay ? true : false) : options.autoload),
     211                                    bufferLength:5,
     212                                onBeforeLoad:function(){},
     213                                onBeforeBegin:function(){},
     214                                    onBegin:function(clip){
     215                                        var player = this;
     216                                        if(player.options.loop){
     217                                                clip.looped = true;
     218                                                wrapper.addClass('loop');
     219                                        }
     220                                        if(typeof(clip.looped) == 'undefined')
     221                                                clip.looped = false;
     222                                        if($.inArray('loop',options.boutons_caches) == '-1'){
     223                                                        wrapper.find('.loop_button').unbind('click').click(function(e){
     224                                                                if(clip.looped){
     225                                                                        clip.looped = false;
     226                                                                        delete(player.options.loop);
     227                                                                        $(this).attr('title',ms_player_lang.bouton_loop);
     228                                                                        wrapper.removeClass('loop').ms_messages('loop',ms_player_lang.statut_unloop,options);
     229                                                                }else{
     230                                                                        clip.looped = true;
     231                                                                        $(this).attr('title',ms_player_lang.bouton_loop_looped);
     232                                                                        wrapper.addClass('loop').ms_messages('loop',ms_player_lang.statut_loop,options);
     233                                                                }
     234                                                                });
     235                                        }
     236                                        if(typeof(clip.duration) != 'undefined'){
     237                                                var duration = ms_second_to_time(clip.duration);
     238                                                if(wrapper.find(".remaining_time").is('.remaining'))
     239                                                        wrapper.find(".remaining_time").html('-'+duration);
     240                                                                else
     241                                                                        wrapper.find(".remaining_time").html(duration);
     242                                                                wrapper.find(".elapsed_time").html(ms_second_to_time(0));
     243                                        }else
     244                                                wrapper.flow_resize_controls();
     245                                        wrapper.flow_play_pause('play',options);
     246                                },
     247                                onStart:function(clip) {
    171248                                                        var duration = false;
    172249                                                        var player = this, status_start = player.getStatus();
     250                                                       
    173251                                                        if(slider){
    174252                                                                controls.find('.progress_indicator').hide();
     
    204282                                                                }
    205283                                                }
    206                                                        
     284                                               
    207285                                                        wrapper.flow_resize_controls();
    208286                                               
     
    212290                                                var statustime = 0;
    213291                                                player.slider_done = false;
    214                
     292
    215293                                                // begin timer
    216294                                                var timer_function = function(){
     295                                                       
    217296                                                        if(typeof(clip.duration) == 'undefined') return;
    218297                                                       
     
    308387                                                });
    309388                                        },
    310                                         onClipAdd :function(clip){},
    311                                         onError:function(error){},
    312                                         onUnload:function(error){},
    313                                         onBeforeKeyPress:function(e){
    314                                                 if(e == 76){
    315                                                         if($.inArray('loop',this.options.boutons_caches) == '-1'){
    316                                                                 controls.find('.loop_button').click();
    317                                                 }
    318                                                         return false;
    319                                                 }
    320                                         },
    321                                         onKeyPress: function(e){
    322                                                 if(e == 39 || e == 37){
    323                                                         if(this.isPaused()){
    324                                                                 this.topause = true;
    325                                                                 this.play();
    326                                                         }
    327                                                 }
    328                                                 if(e == 70 && !this.isFullscreen()){
    329                                                         this.toggleFullscreen();
    330                                                 }
    331                                                 if(e == 38 || e == 40){
    332                                                         if(!this.options.volume_bloque){
    333                                                                 var volume = this.getVolume(),
    334                                                                                 volume_diff = (e == 38) ? '10' : '-10',
    335                                                                                 volume_new = Math.round((volume + parseFloat(volume_diff))*10)/10;
    336                                                                 wrapper.flow_change_volume(volume_new,this.slider_volume,false,this.options);
    337                                                         }
    338                                                 }
    339                                                 if(e == 186 || e == 77){
    340                                                         if($.inArray('volume',this.options.boutons_caches) == '-1' && !this.options.muted_bloque){
    341                                                                 wrapper.find('.volume_button').click();
    342                                                         }
    343                                                 }
    344                                         },
    345                                 clip:{
    346                                         url:liens[0],
    347                                     autoPlay:options.autoplay,
    348                                     scaling:'fit',
    349                                     autoBuffering: (isSound ? (options.autoplay ? true : false) : options.autoload),
    350                                     bufferLength:5,
    351                                 onBeforeLoad:function(){},
    352                                 onBeforeBegin:function(){},
    353                                     onBegin:function(clip){
    354                                         if(typeof(clip.looped) == 'undefined')
    355                                                 clip.looped = false;
    356                                         if($.inArray('loop',options.boutons_caches) == '-1'){
    357                                                         controls.find('.loop_button').unbind('click').click(function(e){
    358                                                                 if(clip.looped){
    359                                                                         clip.looped = false;
    360                                                                         $(this).attr('title',ms_player_lang.bouton_loop);
    361                                                                         wrapper.removeClass('loop').ms_messages('loop',ms_player_lang.statut_unloop,options);
    362                                                                 }else{
    363                                                                         clip.looped = true;
    364                                                                         $(this).attr('title',ms_player_lang.bouton_loop_looped);
    365                                                                         wrapper.addClass('loop').ms_messages('loop',ms_player_lang.statut_loop,options);
    366                                                                 }
    367                                                                 });
    368                                         }
    369                                         if(typeof(clip.duration) != 'undefined'){
    370                                                 var duration = ms_second_to_time(clip.duration);
    371                                                 if(wrapper.find(".remaining_time").is('.remaining'))
    372                                                         wrapper.find(".remaining_time").html('-'+duration);
    373                                                                 else
    374                                                                         wrapper.find(".remaining_time").html(duration);
    375                                                                 wrapper.find(".elapsed_time").html(ms_second_to_time(0));
    376                                         }else
    377                                                 wrapper.flow_resize_controls();
    378                                         wrapper.flow_play_pause('play',options);
    379                                 },
    380389                                onCuepoint:function(content) {},
    381390                                onMetaData:function(clip) {
  • plugins_spip/html5/trunk/javascript/mediaspip_player.js

    r7154 r7157  
    985985                                                        height : $(this).attr('height')?$(this).attr('height'):$(this).parent().height(),
    986986                                                        poster : $(this).attr('poster'),
    987                                                         sources : $(this)
     987                                                        sources : $(this),
     988                                                        loop : (typeof(me.attr('loop')) == 'undefined') ? false : true
    988989                                                }
    989990                                                var options_flash = $.extend(options,defaults_flash);
Note: See TracChangeset for help on using the changeset viewer.