src/js/players/player.jwplayer.js
author veltr
Mon, 17 Sep 2012 00:17:06 +0900
branchplayers-as-widgets
changeset 957 4da0a5740b6c
parent 924 64c2eaafe5e2
child 958 2aa7fdb0762a
permissions -rw-r--r--
Starting 'players-as-widgets' branch
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
957
4da0a5740b6c Starting 'players-as-widgets' branch
veltr
parents: 924
diff changeset
     1
//TODO: Remove and replace by Player Widget
4da0a5740b6c Starting 'players-as-widgets' branch
veltr
parents: 924
diff changeset
     2
711
323205a7bd39 separated jwplayer code from pop.js and put it into its own folder, players/.
hamidouk
parents:
diff changeset
     3
/* To wrap a player the develop should create a new class derived from 
323205a7bd39 separated jwplayer code from pop.js and put it into its own folder, players/.
hamidouk
parents:
diff changeset
     4
   the IriSP.PopcornReplacement.player and defining the correct functions */
323205a7bd39 separated jwplayer code from pop.js and put it into its own folder, players/.
hamidouk
parents:
diff changeset
     5
323205a7bd39 separated jwplayer code from pop.js and put it into its own folder, players/.
hamidouk
parents:
diff changeset
     6
/** jwplayer player wrapper */
323205a7bd39 separated jwplayer code from pop.js and put it into its own folder, players/.
hamidouk
parents:
diff changeset
     7
IriSP.PopcornReplacement.jwplayer = function(container, options) {
914
3238d1625df9 Corrected bugs
veltr
parents: 839
diff changeset
     8
    /* appel du parent pour initialiser les structures communes à tous les players */
3238d1625df9 Corrected bugs
veltr
parents: 839
diff changeset
     9
    IriSP.PopcornReplacement.player.call(this, container, options);
924
64c2eaafe5e2 Modifications for LDT-Platform
veltr
parents: 923
diff changeset
    10
    
64c2eaafe5e2 Modifications for LDT-Platform
veltr
parents: 923
diff changeset
    11
    if (options.autostart) {
64c2eaafe5e2 Modifications for LDT-Platform
veltr
parents: 923
diff changeset
    12
        this.media.paused = false;
64c2eaafe5e2 Modifications for LDT-Platform
veltr
parents: 923
diff changeset
    13
        this.trigger("play");
64c2eaafe5e2 Modifications for LDT-Platform
veltr
parents: 923
diff changeset
    14
    }
914
3238d1625df9 Corrected bugs
veltr
parents: 839
diff changeset
    15
 
919
972099304059 Improved HTML Mashup
veltr
parents: 914
diff changeset
    16
    var _player = jwplayer(this.container),
924
64c2eaafe5e2 Modifications for LDT-Platform
veltr
parents: 923
diff changeset
    17
        _this = this,
64c2eaafe5e2 Modifications for LDT-Platform
veltr
parents: 923
diff changeset
    18
        _seekPause = false;
711
323205a7bd39 separated jwplayer code from pop.js and put it into its own folder, players/.
hamidouk
parents:
diff changeset
    19
  
323205a7bd39 separated jwplayer code from pop.js and put it into its own folder, players/.
hamidouk
parents:
diff changeset
    20
  /* Définition des fonctions de l'API -  */
914
3238d1625df9 Corrected bugs
veltr
parents: 839
diff changeset
    21
    this.playerFns = {
919
972099304059 Improved HTML Mashup
veltr
parents: 914
diff changeset
    22
        play: function() { return _player.play(true); },
972099304059 Improved HTML Mashup
veltr
parents: 914
diff changeset
    23
        pause: function() { return _player.pause(true); },
914
3238d1625df9 Corrected bugs
veltr
parents: 839
diff changeset
    24
        getPosition: function() { return _player.getPosition(); },
924
64c2eaafe5e2 Modifications for LDT-Platform
veltr
parents: 923
diff changeset
    25
        seek: function(pos) {
64c2eaafe5e2 Modifications for LDT-Platform
veltr
parents: 923
diff changeset
    26
            _seekPause = _this.media.paused;
64c2eaafe5e2 Modifications for LDT-Platform
veltr
parents: 923
diff changeset
    27
            return _player.seek(pos);
64c2eaafe5e2 Modifications for LDT-Platform
veltr
parents: 923
diff changeset
    28
        },
914
3238d1625df9 Corrected bugs
veltr
parents: 839
diff changeset
    29
        getMute: function() { return _player.getMute() },
3238d1625df9 Corrected bugs
veltr
parents: 839
diff changeset
    30
        setMute: function(p) { return _player.setMute(p); },
3238d1625df9 Corrected bugs
veltr
parents: 839
diff changeset
    31
        getVolume: function() { return _player.getVolume() / 100; },
3238d1625df9 Corrected bugs
veltr
parents: 839
diff changeset
    32
        setVolume: function(p) { return _player.setVolume(Math.floor(100*p)); }
3238d1625df9 Corrected bugs
veltr
parents: 839
diff changeset
    33
    }
711
323205a7bd39 separated jwplayer code from pop.js and put it into its own folder, players/.
hamidouk
parents:
diff changeset
    34
919
972099304059 Improved HTML Mashup
veltr
parents: 914
diff changeset
    35
    options.events = {
972099304059 Improved HTML Mashup
veltr
parents: 914
diff changeset
    36
        onReady:  function() {
972099304059 Improved HTML Mashup
veltr
parents: 914
diff changeset
    37
            _this.trigger("loadedmetadata");
972099304059 Improved HTML Mashup
veltr
parents: 914
diff changeset
    38
        },
972099304059 Improved HTML Mashup
veltr
parents: 914
diff changeset
    39
        onTime:   function() {
924
64c2eaafe5e2 Modifications for LDT-Platform
veltr
parents: 923
diff changeset
    40
            if (_seekPause) {
64c2eaafe5e2 Modifications for LDT-Platform
veltr
parents: 923
diff changeset
    41
                _player.pause(true);
64c2eaafe5e2 Modifications for LDT-Platform
veltr
parents: 923
diff changeset
    42
                _seekPause = false;
64c2eaafe5e2 Modifications for LDT-Platform
veltr
parents: 923
diff changeset
    43
            } else {
64c2eaafe5e2 Modifications for LDT-Platform
veltr
parents: 923
diff changeset
    44
                if (_this.media.paused && _player.getState() === "PLAYING") {
64c2eaafe5e2 Modifications for LDT-Platform
veltr
parents: 923
diff changeset
    45
                    _this.media.paused = false;
64c2eaafe5e2 Modifications for LDT-Platform
veltr
parents: 923
diff changeset
    46
                    _this.trigger("play");
64c2eaafe5e2 Modifications for LDT-Platform
veltr
parents: 923
diff changeset
    47
                }
923
b3ee7d1b472a UI improvements
veltr
parents: 919
diff changeset
    48
            }
919
972099304059 Improved HTML Mashup
veltr
parents: 914
diff changeset
    49
            _this.trigger("timeupdate");
972099304059 Improved HTML Mashup
veltr
parents: 914
diff changeset
    50
        },
972099304059 Improved HTML Mashup
veltr
parents: 914
diff changeset
    51
        onPlay:   function() {
924
64c2eaafe5e2 Modifications for LDT-Platform
veltr
parents: 923
diff changeset
    52
            if (!_seekPause) {
64c2eaafe5e2 Modifications for LDT-Platform
veltr
parents: 923
diff changeset
    53
                _this.media.paused = false;
64c2eaafe5e2 Modifications for LDT-Platform
veltr
parents: 923
diff changeset
    54
                _this.trigger("play");
64c2eaafe5e2 Modifications for LDT-Platform
veltr
parents: 923
diff changeset
    55
            }
919
972099304059 Improved HTML Mashup
veltr
parents: 914
diff changeset
    56
        },
972099304059 Improved HTML Mashup
veltr
parents: 914
diff changeset
    57
        onPause:  function() {
923
b3ee7d1b472a UI improvements
veltr
parents: 919
diff changeset
    58
            _this.media.paused = true;
919
972099304059 Improved HTML Mashup
veltr
parents: 914
diff changeset
    59
            _this.trigger("pause");
972099304059 Improved HTML Mashup
veltr
parents: 914
diff changeset
    60
        },
972099304059 Improved HTML Mashup
veltr
parents: 914
diff changeset
    61
        onSeek:   function() {
972099304059 Improved HTML Mashup
veltr
parents: 914
diff changeset
    62
            _this.trigger("seeked");
972099304059 Improved HTML Mashup
veltr
parents: 914
diff changeset
    63
        }
972099304059 Improved HTML Mashup
veltr
parents: 914
diff changeset
    64
    };
711
323205a7bd39 separated jwplayer code from pop.js and put it into its own folder, players/.
hamidouk
parents:
diff changeset
    65
914
3238d1625df9 Corrected bugs
veltr
parents: 839
diff changeset
    66
    _player.setup(options);
711
323205a7bd39 separated jwplayer code from pop.js and put it into its own folder, players/.
hamidouk
parents:
diff changeset
    67
};
323205a7bd39 separated jwplayer code from pop.js and put it into its own folder, players/.
hamidouk
parents:
diff changeset
    68
323205a7bd39 separated jwplayer code from pop.js and put it into its own folder, players/.
hamidouk
parents:
diff changeset
    69
IriSP.PopcornReplacement.jwplayer.prototype = new IriSP.PopcornReplacement.player("", {});