src/widgets/PlaceholderPlayer.js
author ymh <ymh.work@gmail.com>
Fri, 02 Oct 2015 11:27:17 +0200
changeset 1068 7623f9af9272
parent 1013 392ddcd212d7
child 1072 ac1eacb3aa33
permissions -rw-r--r--
merge pull request #3 from O. Auber
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
991
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
     1
/* This is a fake player, for when no video is available */
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
     2
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
     3
IriSP.Widgets.PlaceholderPlayer = function(player, config) {
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
     4
    IriSP.Widgets.Widget.call(this, player, config);
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
     5
};
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
     6
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
     7
IriSP.Widgets.PlaceholderPlayer.prototype = new IriSP.Widgets.Widget();
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
     8
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
     9
IriSP.Widgets.PlaceholderPlayer.prototype.defaults = {
1005
768bd0691ed1 Updated Jwplayer to v.6
veltr
parents: 991
diff changeset
    10
    autostart: false
1013
392ddcd212d7 Throwed in a bunch of semicolons
veltr
parents: 1005
diff changeset
    11
};
991
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    12
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    13
IriSP.Widgets.PlaceholderPlayer.prototype.template = '<div class="Ldt-PlaceholderPlayer">(loading)</div>';
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    14
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    15
IriSP.Widgets.PlaceholderPlayer.prototype.draw = function() {
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    16
    
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    17
    this.renderTemplate();
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    18
    
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    19
    var paused = true,
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    20
        timeDelta = 0,
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    21
        currentTime = new IriSP.Model.Time(0),
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    22
        media = this.media,
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    23
        sel = this.$.find(".Ldt-PlaceholderPlayer");
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    24
    
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    25
    function updateTime() {
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    26
        if (!paused) {
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    27
            currentTime = new IriSP.Model.Time(new Date().valueOf() - timeDelta);
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    28
            if (currentTime <= media.duration) {
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    29
                media.trigger("timeupdate", currentTime);
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    30
                setTimeout(updateTime, 100);
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    31
            } else {
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    32
                currentTime = media.duration;
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    33
                media.pause();
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    34
            }
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    35
        }
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    36
        sel.text(currentTime.toString(true));
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    37
    }
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    38
    
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    39
    
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    40
    // Binding functions to Popcorn
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    41
    media.on("setcurrenttime", function(_milliseconds) {
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    42
        timeDelta = new Date().valueOf() - _milliseconds;
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    43
        currentTime = new IriSP.Model.Time(_milliseconds);
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    44
        media.trigger("seeked");
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    45
        media.trigger("timeupdate", currentTime);
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    46
        sel.text(currentTime.toString(true));
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    47
    });
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    48
    
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    49
    media.on("setplay", function() {
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    50
        paused = false;
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    51
        timeDelta = new Date().valueOf() - currentTime
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    52
        media.trigger("play");
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    53
        updateTime();
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    54
    });
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    55
    
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    56
    media.on("setpause", function() {
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    57
        paused = true;
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    58
        media.trigger("pause");
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    59
        updateTime();
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    60
    });
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    61
    
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    62
    media.trigger("loadedmetadata");
1005
768bd0691ed1 Updated Jwplayer to v.6
veltr
parents: 991
diff changeset
    63
    media.trigger("setcurrenttime", 0);
768bd0691ed1 Updated Jwplayer to v.6
veltr
parents: 991
diff changeset
    64
    
768bd0691ed1 Updated Jwplayer to v.6
veltr
parents: 991
diff changeset
    65
    if (this.autostart) {
768bd0691ed1 Updated Jwplayer to v.6
veltr
parents: 991
diff changeset
    66
        media.trigger("setplay");
768bd0691ed1 Updated Jwplayer to v.6
veltr
parents: 991
diff changeset
    67
    }
991
2b036bd80f6d Added a placeholder player for video-less tests
veltr
parents:
diff changeset
    68
    
1013
392ddcd212d7 Throwed in a bunch of semicolons
veltr
parents: 1005
diff changeset
    69
};