src/widgets/AdaptivePlayer.js
changeset 1072 ac1eacb3aa33
parent 1042 a128e59ca2b1
child 1073 687133dc13cf
equal deleted inserted replaced
1071:02c04d2c8fd8 1072:ac1eacb3aa33
     1 IriSP.Widgets.AdaptivePlayer = function(player, config) {
     1 // Class AdaptivePlayer
     2     IriSP.Widgets.Widget.call(this, player, config);
     2 const AdaptivePlayer = function (ns) {
     3 };
     3   return class extends ns.Widgets.Widget {
     4 
     4     constructor(player, config) {
     5 IriSP.Widgets.AdaptivePlayer.prototype = new IriSP.Widgets.Widget();
     5       super(player, config);
     6 
       
     7 IriSP.Widgets.AdaptivePlayer.prototype.defaults = {
       
     8     mime_type: 'video/mp4; codecs="avc1.42E01E"',
       
     9     normal_player: "HtmlPlayer",
       
    10     fallback_player: "JwpPlayer"
       
    11 };
       
    12 
       
    13 IriSP.Widgets.AdaptivePlayer.prototype.draw = function() {
       
    14     
       
    15     if (typeof this.video === "undefined") {
       
    16         this.video = this.media.video;
       
    17     }
       
    18     
       
    19     var _props = [ "autostart", "video", "height", "width", "url_transform" ],
       
    20         _opts = {},
       
    21         _canPlayType = document.createElement('video').canPlayType(this.mime_type);
       
    22     
       
    23     _opts.type = (_canPlayType !== "no") ? this.normal_player : this.fallback_player;
       
    24     
       
    25     for (var i = 0; i < _props.length; i++) {
       
    26         if (typeof this[_props[i]] !== "undefined") {
       
    27             _opts[_props[i]] = this[_props[i]];
       
    28         }
       
    29     }
     6     }
    30 
     7 
    31     this.insertSubwidget(this.$, _opts);
     8     static defaults = {
    32     
     9       mime_type: 'video/mp4; codecs="avc1.42E01E"',
       
    10       normal_player: "HtmlPlayer",
       
    11       fallback_player: "HtmlPlayer",
       
    12     };
       
    13 
       
    14     draw() {
       
    15       if (typeof this.video === "undefined") {
       
    16         this.video = this.media.video;
       
    17       }
       
    18 
       
    19       var _props = ["autostart", "video", "height", "width", "url_transform"],
       
    20         _opts = {},
       
    21         _canPlayType = document
       
    22           .createElement("video")
       
    23           .canPlayType(this.mime_type);
       
    24 
       
    25       _opts.type =
       
    26         _canPlayType !== "no" ? this.normal_player : this.fallback_player;
       
    27 
       
    28       for (var i = 0; i < _props.length; i++) {
       
    29         if (typeof this[_props[i]] !== "undefined") {
       
    30           _opts[_props[i]] = this[_props[i]];
       
    31         }
       
    32       }
       
    33 
       
    34       this.insertSubwidget(this.$, _opts);
       
    35     }
       
    36   };
    33 };
    37 };
       
    38 export { AdaptivePlayer };