src/widgets/JwpPlayer.js
branchplayers-as-widgets
changeset 959 ee11ed1b739e
parent 958 2aa7fdb0762a
child 963 d58d0dcdb640
equal deleted inserted replaced
958:2aa7fdb0762a 959:ee11ed1b739e
     6 
     6 
     7 IriSP.Widgets.JwpPlayer.prototype.defaults = {
     7 IriSP.Widgets.JwpPlayer.prototype.defaults = {
     8 }
     8 }
     9 
     9 
    10 IriSP.Widgets.JwpPlayer.prototype.draw = function() {
    10 IriSP.Widgets.JwpPlayer.prototype.draw = function() {
    11 
    11     
    12     var _opts = {},
    12     var _opts = {},
    13         _player = jwplayer("#" + this.container),
    13         _player = jwplayer(this.$[0]),
    14         _seekPause = false,
    14         _seekPause = false,
    15         _pauseState = true,
    15         _pauseState = true,
    16         _props = [ "live", "provider", "autostart" ];
    16         _props = [ "live", "provider", "autostart" ];
    17     
    17     
    18     if (typeof this.video === "undefined") {
    18     if (typeof this.video === "undefined") {
    29     }
    29     }
    30         
    30         
    31     _opts.file = this.video;
    31     _opts.file = this.video;
    32     _opts.flashplayer = IriSP.getLib("jwPlayerSWF");
    32     _opts.flashplayer = IriSP.getLib("jwPlayerSWF");
    33     _opts["controlbar.position"] = "none";
    33     _opts["controlbar.position"] = "none";
       
    34     _opts.width = this.width;
       
    35     _opts.height = this.height || Math.floor(.643*this.width);
    34     
    36     
    35     for (var i = 0; i < _props.length; i++) {
    37     for (var i = 0; i < _props.length; i++) {
    36         if (typeof this[_props[i]] !== "undefined") {
    38         if (typeof this[_props[i]] !== "undefined") {
    37             _opts[_props[i]] = this[_props[i]];
    39             _opts[_props[i]] = this[_props[i]];
    38         }
    40         }
    82     
    84     
    83     _opts.events = {
    85     _opts.events = {
    84         onReady: function() {
    86         onReady: function() {
    85             _media.trigger("loadedmetadata");
    87             _media.trigger("loadedmetadata");
    86         },
    88         },
    87         onTime: function() {
    89         onTime: function(_progress) {
    88             if (_seekPause) {
    90             if (_seekPause) {
    89                 _player.pause(true);
    91                 _player.pause(true);
    90                 _seekPause = false;
    92                 _seekPause = false;
    91             } else {
    93             } else {
    92                 if (_pauseState && _player.getState() === "PLAYING") {
    94                 if (_pauseState && _player.getState() === "PLAYING") {
    93                     _pauseState = false;
    95                     _pauseState = false;
    94                     _media.trigger("play");
    96                     _media.trigger("play");
    95                 }
    97                 }
    96             }
    98             }
    97             _this.trigger("timeupdate", _media.getCurrentTime());
    99             _media.trigger("timeupdate", new IriSP.Model.Time(_progress.position * 1000));
    98         },
   100         },
    99         onPlay: function() {
   101         onPlay: function() {
   100             if (!_seekPause) {
   102             if (!_seekPause) {
   101                 _pauseState = false;
   103                 _pauseState = false;
   102                 _media.trigger("play");
   104                 _media.trigger("play");
   108         },
   110         },
   109         onSeek: function() {
   111         onSeek: function() {
   110             _media.trigger("seeked");
   112             _media.trigger("seeked");
   111         }
   113         }
   112     }
   114     }
   113     console.log("Before Setup", _opts);
       
   114     _player.setup(_opts);
   115     _player.setup(_opts);
   115     
       
   116     console.log("OK");
       
   117     
   116     
   118     this.jwplayer = _player;
   117     this.jwplayer = _player;
   119     
   118     
   120 }
   119 }