Changeset 73256 in spip-zone for _plugins_/mediaspip_player


Ignore:
Timestamp:
Jun 4, 2013, 10:38:38 PM (7 years ago)
Author:
kent1@…
Message:

On bloque l'action de la souris pour le volume et du clavier sur le seek et volume tant que l'on n'a pas les metas

On gagne quelques lignes de code avec pas grand chose

version de la lib js 1.3.0

On n'incrémente toujours pas le paquet.xml le temps de tester

File:
1 edited

Legend:

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

    r73255 r73256  
    66 * avec fallback vers version flash pour flv/mp4/mp3/aac
    77 *
    8  * $version : 1.2.5
     8 * $version : 1.3.0
    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/
     
    150150                                media.children('source').each(function(){
    151151                                        if(($(this).attr('type') != 'video/x-flv') && (id.canPlayType($(this).attr('type')) != '')){
    152                                                 if(($(this).attr('type').match('video/ogg') || $(this).attr('type').match('video/webm')) && /Safari/i.test(navigator.userAgent)){
     152                                                if(($(this).attr('type').match('video/ogg') || $(this).attr('type').match('video/webm')) && /Safari/i.test(navigator.userAgent))
    153153                                                        playable = false;
    154                                                 }else{
     154                                                else{
    155155                                                        playable = true;
    156156                                                        return false;
     
    177177                                                width = options.width;
    178178                                       
    179                                         id.mediacanplay = id.isFullScreen = false;
    180179                                        id.options = options;
     180                                        id.mediacanplay = id.isFullScreen = id.slider_control = id.slider_volume = false;
    181181                                        id.percent_loaded = 0;
    182                                         id.slider_control = id.slider_volume = false;
    183182                                        id.messages = options.messages;
    184183                                        id.type = (media.is('video')) ? 'video' : 'audio';
     
    217216                                        if(id.addcontrols){
    218217                                                if(id.type == 'video')
    219                                                         controls = '<div class="ms_splash"></div>'
     218                                                        controls = '<div class="ms_splash"></div>';
    220219                                                else
    221220                                                        controls = '';
     
    461460                                        if(!options.volume_bloque && typeof($.fn.mousewheel != "undefined")){
    462461                                                wrapper.mousewheel(function(event, delta) {
    463                                                         if(!id.muted){
     462                                                        if(!id.muted && id.duration){
    464463                                                                var volume_new = Math.round((id.volume + parseFloat((delta > 0) ? '0.1' : '-0.1'))*10)/10;
    465464                                                                if((volume_new <= 1) && (volume_new >= 0)) id.volume = volume_new;
     
    492491                                var width_container = media.width(), parent_width = wrapper.parent().width();
    493492                               
    494                                 if(id.videoHeight && id.videoWidth)
    495                                         id.ratio = id.videoWidth/id.videoHeight;
    496                                 else if(options.ratio)
    497                                         id.ratio = options.ratio;
    498                                 else
    499                                         id.ratio = media.width()/media.height();
     493                                if(id.videoHeight && id.videoWidth) id.ratio = id.videoWidth/id.videoHeight;
     494                                else if(options.ratio) id.ratio = options.ratio;
     495                                else id.ratio = media.width()/media.height();
    500496                               
    501497                                if(options.movieSize == 'adapt' && !id.isFullScreen && (!media.hasClass('noresize') || (options.movieSize != 'noresize'))){
     
    670666                ms_play_pause : function(){
    671667                        if($(this)[0].mediacanplay && !$(this)[0].seeking){
    672                                 var options = $(this)[0].options;
    673                                 if($(this)[0].paused){
    674                                         $(this)[0].play();
    675                                         this.trigger('play');
    676                                 }else if ($(this)[0].ended){
     668                                if($(this)[0].paused || $(this)[0].ended){
    677669                                        $(this)[0].play();
    678670                                        this.trigger('play');
     
    717709                                        if(options.volume_bloque && options.volume) volume = $(this)[0].volume = (options.volume) ? $(this)[0].volume : options.volume;
    718710                                        if((volume <= 0.66) && (volume > 0.33)){
    719                                                 if(class_remove != null)
    720                                                         sound_button.removeClass(class_remove[0]);
     711                                                if(class_remove != null) sound_button.removeClass(class_remove[0]);
    721712                                                sound_button.addClass('volume_button_66');
    722713                                        }else if((volume <= 1) && (volume > 0.66)){
    723                                                 if(class_remove != null)
    724                                                         sound_button.removeClass(class_remove[0]);
     714                                                if(class_remove != null) sound_button.removeClass(class_remove[0]);
    725715                                                sound_button.addClass('volume_button_100');
    726716                                        }else if((volume <= 0.33) && (volume > 0)){
    727                                                 if(class_remove != null)
    728                                                         sound_button.removeClass(class_remove[0]);
     717                                                if(class_remove != null) sound_button.removeClass(class_remove[0]);
    729718                                                sound_button.addClass('volume_button_33');
    730719                                        }else if(volume == 0){
    731                                                 if(class_remove != null)
    732                                                         sound_button.removeClass(class_remove[0]);
     720                                                if(class_remove != null) sound_button.removeClass(class_remove[0]);
    733721                                                sound_button.addClass('volume_button_0');
    734722                                        }
     
    805793                                control.find('.progress_elapsed_time').css('width',percent+'%');
    806794                                control.find('.progress_indicator').css('left',percent+'%');
    807                         }else if(update_slider){
     795                        }else if(update_slider)
    808796                                $(this)[0].slider_control.slider("value", percent);
    809                         }
    810797                },
    811798                /**
     
    878865                ms_fullscreen_resize : function(){
    879866                        var container = $(this).parent(),
    880                                 id_container = container[0],
    881                                 window_width = window.innerWidth,
    882                         window_height = window.innerHeight,
    883                                 ratio = (window_height/$(this)[0].videoHeight),
    884                                 width_final = ($(this)[0].videoWidth*ratio).toFixed();
     867                                id_container = container[0];
    885868       
    886869                        container.find('span.fullwindow_button').attr('title',ms_player_lang.bouton_fullscreen_full);
     
    891874                                $(this).ms_resize_controls();
    892875                        }else{
     876                                var window_width = window.innerWidth,
     877                                window_height = window.innerHeight,
     878                                        ratio = (window_height/$(this)[0].videoHeight),
     879                                        width_final = ($(this)[0].videoWidth*ratio).toFixed();
    893880                                container.css({width:'100%',height:'100%',left:'0',top:'0'}).addClass('media_wrapper_full').find('.controls').removeClass('small');
    894881                                if(width_final > window_width){
    895                                         var ratio = (window_width/$(this)[0].videoWidth);
    896                                         var height_final = ($(this)[0].videoHeight*ratio).toFixed();
    897                                         var top = ((window_height-height_final)/2).toFixed();
     882                                        var ratio = (window_width/$(this)[0].videoWidth),
     883                                                height_final = ($(this)[0].videoHeight*ratio).toFixed(),
     884                                                top = ((window_height-height_final)/2).toFixed();
    898885                                        $(this).css({position:'absolute',width:window_width+'px',height:height_final+'px',top:top+'px',left:'0'});
    899886                                }else{
     
    968955                 */
    969956                ms_messages : function(type,message){
    970                         var messages, options = $(this)[0].options,
     957                        if(!$(this)[0].options.messages) return;
     958                       
     959                        var messages,
    971960                                message = '<span class="'+type+'">'+message+'</span>';
    972 
    973                         if(!options.messages) return;
    974961                       
    975962                        if($(this).is('.media_wrapper')) messages = $(this).find('.messages');
     
    10351022                        var percent_loaded = null;
    10361023                        if($(this)[0].buffered && $(this)[0].buffered.length)
    1037                                 percent_loaded = ms_anything_to_percent($(this)[0].buffered.end(0),$(this)[0].duration);
     1024                                $(this)[0].percent_loaded = percent_loaded = ms_anything_to_percent($(this)[0].buffered.end(0),$(this)[0].duration);
    10381025                        else if((typeof(e.loaded) != 'undefined') && (typeof(e.total) != 'undefined'))
    1039                                 percent_loaded = ms_anything_to_percent(e.loaded,e.total);
    1040                         if(percent_loaded != null){
    1041                                 $(this)[0].percent_loaded = percent_loaded;
     1026                                $(this)[0].percent_loaded = percent_loaded = ms_anything_to_percent(e.loaded,e.total);
     1027                        if(percent_loaded != null)
    10421028                                $(this).parent().find('.progress_buffered').css('width',percent_loaded+'%');
    1043                         }
    10441029                },
    10451030                /**
     
    10581043                                        case 27 :
    10591044                                                /**
    1060                                              * Touche esc
    1061                                              * Sort du mode fullscreen (uniquement sur videos)
     1045                                             * Touche esc : sort du mode fullscreen (uniquement sur videos)
    10621046                                             */
    10631047                                                e.preventDefault();
    1064                                         if (!fullScreenApi.supportsFullScreen) {
    1065                                                 if($(this).find('video')[0].isFullScreen)
    1066                                                         $(this).find('video').ms_fullscreen();
    1067                                         }
     1048                                        if (!fullScreenApi.supportsFullScreen && $(this).find('video')[0].isFullScreen)
     1049                                                $(this).find('video').ms_fullscreen();
    10681050                                                break;
    10691051                                        case 70 :
     
    10891071                                        case 77 :
    10901072                                                /**
    1091                                              * Touche M
    1092                                              * Mute ou unmute
     1073                                             * Touche M : mute ou unmute
    10931074                                             */
    10941075                                                if($(this).find('video,audio')[0].isFullScreen || $('input:focus,textarea:focus').size() == 0){
     
    10991080                                        case 32 :
    11001081                                                 /**
    1101                                               * Touche Space
    1102                                               * Lance la lecture ou met le media en pause
     1082                                              * Touche Space : lance la lecture ou met le media en pause
    11031083                                              */
    1104                                                
    11051084                                        if($(this).find('video,audio')[0].isFullScreen || ($('input:focus,textarea:focus').size() == 0)){
    11061085                                                $(this).find('video,audio').ms_play_pause();
     
    11131092                                             * Baisse ou augmente de 10% le volume de la video en cours de lecture
    11141093                                             */
    1115                                         if($(this).find('video,audio')[0].isFullScreen||($('input:focus,textarea:focus').size() == 0)){
     1094                                        if($(this).find('video,audio')[0].duration && ($(this).find('video,audio')[0].isFullScreen||($('input:focus,textarea:focus').size() == 0))){
    11161095                                                if(!$(this).find('video,audio')[0].muted){
    11171096                                                                var delta  = (e.keyCode == 38) ? 1 : -1,
     
    11321111                                             * Il faut également modifier la valeur de la barre
    11331112                                             */
    1134                                         if($(this).find('video,audio')[0].isFullScreen||($('input:focus,textarea:focus,select:focus').size() == 0)){
     1113                                        if($(this).find('video,audio')[0].duration && ($(this).find('video,audio')[0].isFullScreen||($('input:focus,textarea:focus,select:focus').size() == 0))){
    11351114                                                var pourcent_actuel = (($(this).find('video,audio')[0].currentTime / $(this).find('video,audio')[0].duration) * 100);
    11361115                                                if(e.keyCode == 37)
Note: See TracChangeset for help on using the changeset viewer.