src/js/html-player.js
changeset 1072 ac1eacb3aa33
parent 1068 7623f9af9272
equal deleted inserted replaced
1071:02c04d2c8fd8 1072:ac1eacb3aa33
     1 /* HTML player, to be reused in a widget, or elsewhere */
     1 /* HTML player, to be reused in a widget, or elsewhere */
     2 
     2 import jQuery from "jquery";
     3 IriSP.htmlPlayer = function(media, jqselector, options) {
     3 const htmlPlayer = function(media, jqselector, options) {
     4     
     4     
     5     var opts = options || {},
     5     var opts = options || {},
     6         videoURL = opts.video || media.video;
     6         videoURL = opts.video || media.video;
     7     
     7     
     8     if (typeof opts.url_transform === "function") {
     8     if (typeof opts.url_transform === "function") {
     9         videoURL = opts.url_transform(videoURL);
     9         videoURL = opts.url_transform(videoURL);
    10     }
    10     }
    11         
    11         
    12     var videoEl = IriSP.jQuery('<video>');
    12     var videoEl = jQuery('<video>');
    13     
    13     
    14     videoEl.attr({
    14     videoEl.attr({
    15         width : opts.width || undefined,
    15         width : opts.width || undefined,
    16         height : opts.height || undefined,
    16         height : opts.height || undefined,
    17         controls : opts.controls || undefined,
    17         controls : opts.controls || undefined,
    20     
    20     
    21     if(typeof videoURL === "string"){
    21     if(typeof videoURL === "string"){
    22         videoEl.attr("src",videoURL);
    22         videoEl.attr("src",videoURL);
    23     } else {
    23     } else {
    24         for (var i = 0; i < videoURL.length; i++) {
    24         for (var i = 0; i < videoURL.length; i++) {
    25             var _srcNode = IriSP.jQuery('<source>');
    25             var _srcNode = jQuery('<source>');
    26             _srcNode.attr({
    26             _srcNode.attr({
    27                 src: videoURL[i].src,
    27                 src: videoURL[i].src,
    28                 type: videoURL[i].type
    28                 type: videoURL[i].type
    29             });
    29             });
    30             videoEl.append(_srcNode);
    30             videoEl.append(_srcNode);
    31         }
    31         }
    32     }
    32     }
    33     if (opts.subtitle) {
    33     if (opts.subtitle) {
    34         var _trackNode = IriSP.jQuery('<track>');
    34         var _trackNode = jQuery('<track>');
    35         _trackNode.attr({
    35         _trackNode.attr({
    36             label: "Subtitles",
    36             label: "Subtitles",
    37             kind: "subtitles",
    37             kind: "subtitles",
    38             srclang: "fr",
    38             srclang: "fr",
    39             src: opts.subtitle,
    39             src: opts.subtitle,
   145         } else {
   145         } else {
   146             media.pause();
   146             media.pause();
   147         };
   147         };
   148     });
   148     });
   149 };
   149 };
       
   150 
       
   151 export default htmlPlayer;