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) {
|
||||
app.ports.registerVideo.subscribe(function(args) {
|
||||
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() {
|
||||
if (args[0] !== lastId) {
|
||||
lastId = args[0];
|
||||
|
||||
player = vd.setup(args[0], {
|
||||
v: args[1] + "/manifest.mpd",
|
||||
v: args[1] + "/manifest.m3u8",
|
||||
t: time,
|
||||
focus: true
|
||||
});
|
||||
|
@ -38,6 +39,8 @@
|
|||
player.currentTime(time);
|
||||
}
|
||||
});
|
||||
|
||||
setTimeout(recordPosition, 1000);
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -47,6 +50,13 @@
|
|||
lastId = undefined;
|
||||
});
|
||||
}
|
||||
|
||||
function recordPosition() {
|
||||
if (lastId !== undefined) {
|
||||
localStorage.setItem(lastId, player.currentTime());
|
||||
setTimeout(recordPosition, 1000);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
10
js/vd.js
10
js/vd.js
|
@ -238,7 +238,7 @@ function createRepresentationButtons(player, menuButton = undefined) {
|
|||
|
||||
let hls = player.tech({IWillNotUseThisInPlugins: true}).hls;
|
||||
|
||||
if (hls === undefined) {
|
||||
if (hls === undefined || hls.representations === undefined) {
|
||||
setTimeout(() => createRepresentationButtons(player, menuButton), 500);
|
||||
return menuButton;
|
||||
}
|
||||
|
@ -365,10 +365,16 @@ vd.setup = function(video, args) {
|
|||
}
|
||||
|
||||
let player = videojs(video);
|
||||
if (src.endsWith('.mpd')) {
|
||||
player.src({
|
||||
src,
|
||||
type: 'application/dash+xml'
|
||||
});
|
||||
} else {
|
||||
player.src({
|
||||
src,
|
||||
});
|
||||
}
|
||||
|
||||
if (args.focus === true) {
|
||||
player.focus();
|
||||
|
@ -528,8 +534,10 @@ vd.setup = function(video, args) {
|
|||
controlBar.removeChild(fullscreenButton);
|
||||
|
||||
let menuButton = createRepresentationButtons(player);
|
||||
if (player.getAttribute('disable-speed') == undefined) {
|
||||
let speedButton = createSpeedButtons(player);
|
||||
controlBar.addChild(speedButton, {});
|
||||
}
|
||||
controlBar.addChild(menuButton, {});
|
||||
controlBar.addChild(fullscreenButton, {});
|
||||
|
||||
|
|
Loading…
Reference in New Issue