src/js/players/player.jwplayer.js
branchnew-model
changeset 924 64c2eaafe5e2
parent 923 b3ee7d1b472a
child 957 4da0a5740b6c
--- a/src/js/players/player.jwplayer.js	Fri Jun 29 16:22:52 2012 +0200
+++ b/src/js/players/player.jwplayer.js	Thu Jul 05 19:08:13 2012 +0200
@@ -5,18 +5,25 @@
 IriSP.PopcornReplacement.jwplayer = function(container, options) {
     /* appel du parent pour initialiser les structures communes à tous les players */
     IriSP.PopcornReplacement.player.call(this, container, options);
-  
-    this.media.duration = options.duration; /* optional */
+    
+    if (options.autostart) {
+        this.media.paused = false;
+        this.trigger("play");
+    }
  
     var _player = jwplayer(this.container),
-        _this = this;
+        _this = this,
+        _seekPause = false;
   
   /* Définition des fonctions de l'API -  */
     this.playerFns = {
         play: function() { return _player.play(true); },
         pause: function() { return _player.pause(true); },
         getPosition: function() { return _player.getPosition(); },
-        seek: function(pos) { return _player.seek(pos); },
+        seek: function(pos) {
+            _seekPause = _this.media.paused;
+            return _player.seek(pos);
+        },
         getMute: function() { return _player.getMute() },
         setMute: function(p) { return _player.setMute(p); },
         getVolume: function() { return _player.getVolume() / 100; },
@@ -28,15 +35,22 @@
             _this.trigger("loadedmetadata");
         },
         onTime:   function() {
-            if (_this.media.paused && _player.getState() === "PLAYING") {
-                _this.media.paused = false;
-                _this.trigger("play");
+            if (_seekPause) {
+                _player.pause(true);
+                _seekPause = false;
+            } else {
+                if (_this.media.paused && _player.getState() === "PLAYING") {
+                    _this.media.paused = false;
+                    _this.trigger("play");
+                }
             }
             _this.trigger("timeupdate");
         },
         onPlay:   function() {
-            _this.media.paused = false;
-            _this.trigger("play");
+            if (!_seekPause) {
+                _this.media.paused = false;
+                _this.trigger("play");
+            }
         },
         onPause:  function() {
             _this.media.paused = true;