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, |