mirror of
https://github.com/kmoskwiak/videojs-resolution-switcher.git
synced 2025-10-04 10:19:21 +02:00
lib update
This commit is contained in:
parent
c7462fb90b
commit
bb6f406b69
4 changed files with 44 additions and 11 deletions
|
@ -69,7 +69,8 @@
|
||||||
fluid: true,
|
fluid: true,
|
||||||
plugins: {
|
plugins: {
|
||||||
videoJsResolutionSwitcher: {
|
videoJsResolutionSwitcher: {
|
||||||
default: 'low' // Default resolution [{Number}, 'low', 'high']
|
default: 'low', // Default resolution [{Number}, 'low', 'high'],
|
||||||
|
dynamicLabel: true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, function(){
|
}, function(){
|
||||||
|
@ -92,7 +93,7 @@
|
||||||
player.on('resolutionchange', function(){
|
player.on('resolutionchange', function(){
|
||||||
console.info('Source changed to %s', player.src())
|
console.info('Source changed to %s', player.src())
|
||||||
})
|
})
|
||||||
}).videoJsResolutionSwitcher();
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
20
node_modules/videojs-resolution-switcher/lib/videojs-resolution-switcher.css
generated
vendored
20
node_modules/videojs-resolution-switcher/lib/videojs-resolution-switcher.css
generated
vendored
|
@ -1,10 +1,24 @@
|
||||||
.vjs-resolution-button {
|
.vjs-resolution-button {
|
||||||
color: #ccc;
|
color: #ccc;
|
||||||
font-family: VideoJS
|
font-family: VideoJS;
|
||||||
}
|
}
|
||||||
|
|
||||||
.vjs-resolution-button:before {
|
.vjs-resolution-button .vjs-resolution-button-staticlabel:before {
|
||||||
content: '\f110'
|
content: '\f110';
|
||||||
|
font-size: 1.8em;
|
||||||
|
line-height: 1.67;
|
||||||
|
}
|
||||||
|
|
||||||
|
.vjs-resolution-button .vjs-resolution-button-label {
|
||||||
|
font-size: 1.2em;
|
||||||
|
line-height: 2.50em;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
text-align: center;
|
||||||
|
box-sizing: inherit;
|
||||||
}
|
}
|
||||||
|
|
||||||
.vjs-resolution-button ul.vjs-menu-content {
|
.vjs-resolution-button ul.vjs-menu-content {
|
||||||
|
|
25
node_modules/videojs-resolution-switcher/lib/videojs-resolution-switcher.js
generated
vendored
25
node_modules/videojs-resolution-switcher/lib/videojs-resolution-switcher.js
generated
vendored
|
@ -14,7 +14,10 @@
|
||||||
*/
|
*/
|
||||||
videoJsResolutionSwitcher = function(options) {
|
videoJsResolutionSwitcher = function(options) {
|
||||||
var settings = videojs.mergeOptions(defaults, options),
|
var settings = videojs.mergeOptions(defaults, options),
|
||||||
player = this;
|
player = this,
|
||||||
|
label = document.createElement('span');
|
||||||
|
|
||||||
|
label.classList.add('vjs-resolution-button-label')
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Resolution menu item
|
* Resolution menu item
|
||||||
|
@ -36,6 +39,8 @@
|
||||||
// Remember player state
|
// Remember player state
|
||||||
var currentTime = player.currentTime()
|
var currentTime = player.currentTime()
|
||||||
var isPaused = player.paused()
|
var isPaused = player.paused()
|
||||||
|
// Change menu button label
|
||||||
|
label.innerHTML = this.options_.label;
|
||||||
// Change player source and wait for loadedmetadata event, then play video
|
// Change player source and wait for loadedmetadata event, then play video
|
||||||
player.src({src: this.src, type: this.type}).one( 'loadedmetadata', function() {
|
player.src({src: this.src, type: this.type}).one( 'loadedmetadata', function() {
|
||||||
player.currentTime(currentTime)
|
player.currentTime(currentTime)
|
||||||
|
@ -54,7 +59,15 @@
|
||||||
constructor: function(player, options){
|
constructor: function(player, options){
|
||||||
this.sources = options.sources;
|
this.sources = options.sources;
|
||||||
MenuButton.call(this, player, options);
|
MenuButton.call(this, player, options);
|
||||||
this.controlText('Quality')
|
this.controlText('Quality');
|
||||||
|
|
||||||
|
if(settings.dynamicLabel){
|
||||||
|
this.el().appendChild(label)
|
||||||
|
}else{
|
||||||
|
var staticLabel = document.createElement('span')
|
||||||
|
staticLabel.classList.add('vjs-resolution-button-staticlabel')
|
||||||
|
this.el().appendChild(staticLabel)
|
||||||
|
}
|
||||||
},
|
},
|
||||||
createItems: function(){
|
createItems: function(){
|
||||||
var sources = this.sources;
|
var sources = this.sources;
|
||||||
|
@ -79,13 +92,15 @@
|
||||||
player.controlBar.resolutionSwitcher.dispose()
|
player.controlBar.resolutionSwitcher.dispose()
|
||||||
delete player.controlBar.resolutionSwitcher
|
delete player.controlBar.resolutionSwitcher
|
||||||
}
|
}
|
||||||
//Sort sourcec
|
//Sort sources
|
||||||
src = src.sort(compareResolutions)
|
src = src.sort(compareResolutions)
|
||||||
groupedSrc = bucketSources(src)
|
groupedSrc = bucketSources(src)
|
||||||
var menuButton = new ResolutionMenuButton(player, { sources: src });
|
var menuButton = new ResolutionMenuButton(player, { sources: src });
|
||||||
menuButton.el().classList.add('vjs-resolution-button')
|
menuButton.el().classList.add('vjs-resolution-button')
|
||||||
player.controlBar.resolutionSwitcher = player.controlBar.addChild(menuButton)
|
player.controlBar.resolutionSwitcher = player.controlBar.addChild(menuButton)
|
||||||
player.src(chooseSrc(src));
|
var newSource = chooseSrc(src)
|
||||||
|
label.innerHTML = newSource.label
|
||||||
|
player.src(newSource);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -130,7 +145,7 @@
|
||||||
if(settings.default === 'low'){ return src[src.length - 1] }
|
if(settings.default === 'low'){ return src[src.length - 1] }
|
||||||
if(settings.default === 'high'){ return src[0] }
|
if(settings.default === 'high'){ return src[0] }
|
||||||
if(groupedSrc.res[settings.default]){ return groupedSrc.res[settings.default][0] }
|
if(groupedSrc.res[settings.default]){ return groupedSrc.res[settings.default][0] }
|
||||||
return src
|
return src[src.length - 1]
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create resolution switcher for videos form <source> tag inside <video>
|
// Create resolution switcher for videos form <source> tag inside <video>
|
||||||
|
|
|
@ -15,5 +15,8 @@
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/kmoskwiak/videojs-resolution-switcher/issues"
|
"url": "https://github.com/kmoskwiak/videojs-resolution-switcher/issues"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/kmoskwiak/videojs-resolution-switcher#readme"
|
"homepage": "https://github.com/kmoskwiak/videojs-resolution-switcher#readme",
|
||||||
|
"dependencies": {
|
||||||
|
"videojs-resolution-switcher": "git+https://github.com/kmoskwiak/videojs-resolution-switcher.git"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue