src/widgets/AutoPlayer.js
changeset 1073 687133dc13cf
parent 1072 ac1eacb3aa33
child 1078 c28fb800e252
equal deleted inserted replaced
1072:ac1eacb3aa33 1073:687133dc13cf
    26           "url_transform",
    26           "url_transform",
    27         ],
    27         ],
    28         _opts = {},
    28         _opts = {},
    29         _types = [
    29         _types = [
    30           {
    30           {
    31             regexp: /^rtmp:\/\//,
       
    32             type: "JwpPlayer",
       
    33           },
       
    34           {
       
    35             regexp: /\.(mp4|m4v|mp3)$/,
    31             regexp: /\.(mp4|m4v|mp3)$/,
    36             type: "AdaptivePlayer",
    32             type: "AdaptivePlayer",
    37           },
    33           },
    38           {
    34           {
    39             regexp: /\.(ogg|ogv|webm)$/,
    35             regexp: /\.(ogg|ogv|webm)$/,
    40             type: "HtmlPlayer",
    36             type: "HtmlPlayer",
    41           },
    37           },
    42           {
    38           {
    43             regexp: /^(https?:\/\/)?(www\.)?youtube\.com/,
    39             regexp: /^(https?:\/\/)?(www\.)?youtube\.com/,
    44             type: "PopcornPlayer",
    40             type: "VideojsPlayer",
    45           },
    41           },
    46           {
    42           {
    47             regexp: /^(https?:\/\/)?(www\.)?vimeo\.com/,
    43             regexp: /^(https?:\/\/)?(www\.)?vimeo\.com/,
    48             type: "PopcornPlayer",
    44             type: "VideojsPlayer",
    49           },
    45           },
    50           {
    46           {
    51             regexp: /^(https?:\/\/)?(www\.)?dailymotion\.com/,
    47             regexp: /^(https?:\/\/)?(www\.)?dailymotion\.com/,
    52             type: "DailymotionPlayer",
    48             type: "DailymotionPlayer",
    53           },
    49           },
    54         ],
    50         ]
    55         _rtmprgx = /^rtmp:\/\//;
       
    56 
    51 
    57       for (var i = 0; i < _types.length; i++) {
    52       if(this.video) {
    58         if (this.video && _types[i].regexp.test(this.video.toLowerCase())) {
    53         for (var i = 0; i < _types.length; i++) {
    59           _opts.type = _types[i].type;
    54           if (_types[i].regexp.test(this.video.toLowerCase())) {
    60           break;
    55             _opts.type = _types[i].type;
       
    56             break;
       
    57           }
    61         }
    58         }
    62       }
    59       }
    63 
    60 
    64       if (typeof _opts.type === "undefined") {
    61       if (typeof _opts.type === "undefined") {
    65         _opts.type = this.default_type;
    62         _opts.type = this.default_type;
    70           .createElement("video")
    67           .createElement("video")
    71           .canPlayType('video/mp4; codecs="avc1.42E01E"');
    68           .canPlayType('video/mp4; codecs="avc1.42E01E"');
    72         _opts.type = _canPlayType !== "no" ? "HtmlPlayer" : "JwpPlayer";
    69         _opts.type = _canPlayType !== "no" ? "HtmlPlayer" : "JwpPlayer";
    73       }
    70       }
    74 
    71 
    75       if (_rtmprgx.test(this.video)) {
       
    76         _opts.provider = "rtmp";
       
    77         _opts.live = true;
       
    78       }
       
    79 
       
    80       for (var i = 0; i < _props.length; i++) {
    72       for (var i = 0; i < _props.length; i++) {
    81         if (typeof this[_props[i]] !== "undefined") {
    73         if (typeof this[_props[i]] !== "undefined") {
    82           _opts[_props[i]] = this[_props[i]];
    74           _opts[_props[i]] = this[_props[i]];
    83         }
    75         }
    84       }
    76       }