Support for HLS
This commit is contained in:
parent
360952706d
commit
c28f3ef9ae
14
index.html
14
index.html
|
@ -23,14 +23,15 @@
|
||||||
if (app.ports !== undefined && app.ports.registerVideo !== undefined) {
|
if (app.ports !== undefined && app.ports.registerVideo !== undefined) {
|
||||||
app.ports.registerVideo.subscribe(function(args) {
|
app.ports.registerVideo.subscribe(function(args) {
|
||||||
window.scrollTo(0, 0);
|
window.scrollTo(0, 0);
|
||||||
var time = vd.parseTime(args[2]) || undefined;
|
var time = vd.parseTime(args[2]);
|
||||||
|
time = time || vd.parseTime(localStorage.getItem(args[0]));
|
||||||
|
|
||||||
requestAnimationFrame(function() {
|
requestAnimationFrame(function() {
|
||||||
if (args[0] !== lastId) {
|
if (args[0] !== lastId) {
|
||||||
lastId = args[0];
|
lastId = args[0];
|
||||||
|
|
||||||
player = vd.setup(args[0], {
|
player = vd.setup(args[0], {
|
||||||
v: args[1] + "/manifest.mpd",
|
v: args[1] + "/manifest.m3u8",
|
||||||
t: time,
|
t: time,
|
||||||
focus: true
|
focus: true
|
||||||
});
|
});
|
||||||
|
@ -38,6 +39,8 @@
|
||||||
player.currentTime(time);
|
player.currentTime(time);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
setTimeout(recordPosition, 1000);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -47,6 +50,13 @@
|
||||||
lastId = undefined;
|
lastId = undefined;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function recordPosition() {
|
||||||
|
if (lastId !== undefined) {
|
||||||
|
localStorage.setItem(lastId, player.currentTime());
|
||||||
|
setTimeout(recordPosition, 1000);
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
22
js/vd.js
22
js/vd.js
|
@ -238,7 +238,7 @@ function createRepresentationButtons(player, menuButton = undefined) {
|
||||||
|
|
||||||
let hls = player.tech({IWillNotUseThisInPlugins: true}).hls;
|
let hls = player.tech({IWillNotUseThisInPlugins: true}).hls;
|
||||||
|
|
||||||
if (hls === undefined) {
|
if (hls === undefined || hls.representations === undefined) {
|
||||||
setTimeout(() => createRepresentationButtons(player, menuButton), 500);
|
setTimeout(() => createRepresentationButtons(player, menuButton), 500);
|
||||||
return menuButton;
|
return menuButton;
|
||||||
}
|
}
|
||||||
|
@ -365,10 +365,16 @@ vd.setup = function(video, args) {
|
||||||
}
|
}
|
||||||
|
|
||||||
let player = videojs(video);
|
let player = videojs(video);
|
||||||
player.src({
|
if (src.endsWith('.mpd')) {
|
||||||
src,
|
player.src({
|
||||||
type: 'application/dash+xml'
|
src,
|
||||||
});
|
type: 'application/dash+xml'
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
player.src({
|
||||||
|
src,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
if (args.focus === true) {
|
if (args.focus === true) {
|
||||||
player.focus();
|
player.focus();
|
||||||
|
@ -528,8 +534,10 @@ vd.setup = function(video, args) {
|
||||||
controlBar.removeChild(fullscreenButton);
|
controlBar.removeChild(fullscreenButton);
|
||||||
|
|
||||||
let menuButton = createRepresentationButtons(player);
|
let menuButton = createRepresentationButtons(player);
|
||||||
let speedButton = createSpeedButtons(player);
|
if (player.getAttribute('disable-speed') == undefined) {
|
||||||
controlBar.addChild(speedButton, {});
|
let speedButton = createSpeedButtons(player);
|
||||||
|
controlBar.addChild(speedButton, {});
|
||||||
|
}
|
||||||
controlBar.addChild(menuButton, {});
|
controlBar.addChild(menuButton, {});
|
||||||
controlBar.addChild(fullscreenButton, {});
|
controlBar.addChild(fullscreenButton, {});
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue