Mi sembra che in questo momento il codebase sia un po 'sconvolto, e forse ci sarà un modello di plug-in più coerente presentato a breve - ma nel frattempo - nel caso non abbiate scoperto come aggiungere elementi alla barra di controllo, presenterò un esempio banale.
Tutto ciò che ho intenzione di fare è aggiungere un componente all'oggetto core videojs e dire alla barra di controllo di includere quel componente come uno dei suoi figli.
Uno dei miei aspetti preferiti di video js è la libreria di icone presa in prestito da FontAwesome. Questo esempio utilizzerà il glifo icona-twitter da lì, ma sentiti libero di usare css/html personalizzati in base alle tue esigenze.
<!doctype html>
<html>
<head>
<link href="http://vjs.zencdn.net/4.1.0/video-js.css" rel="stylesheet">
<script src="http://vjs.zencdn.net/4.1.0/video.js"></script>
<!-- For the twitter icon. -->
<link href="https://netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css" rel="stylesheet">
<style>
.vjs-control.vjs-tweet-button:before {
font-family: FontAwesome;
content: "\f081";
}
</style>
</head>
<body>
<video id="example_video_1" class="video-js vjs-default-skin" width="640" height="480" controls>
<source type="video/mp4" src="http://video-js.zencoder.com/oceans-clip.mp4">
<source type="video/webm" src="http://video-js.zencoder.com/oceans-clip.webm">
</video>
<script>
videojs.Tweet = videojs.Button.extend({
/** @constructor */
init: function(player, options){
videojs.Button.call(this, player, options);
this.on('click', this.onClick);
}
});
videojs.Tweet.prototype.onClick = function() {
alert("TWEET!");
};
// Note that we're not doing this in prototype.createEl() because
// it won't be called by Component.init (due to name obfuscation).
var createTweetButton = function() {
var props = {
className: 'vjs-tweet-button vjs-control',
innerHTML: '<div class="vjs-control-content"><span class="vjs-control-text">' + ('Tweet') + '</span></div>',
role: 'button',
'aria-live': 'polite', // let the screen reader user know that the text of the button may change
tabIndex: 0
};
return videojs.Component.prototype.createEl(null, props);
};
var tweet;
videojs.plugin('tweet', function() {
var options = { 'el' : createTweetButton() };
tweet = new videojs.Tweet(this, options);
this.controlBar.el().appendChild(tweet.el());
});
var vid = videojs("example_video_1", {
plugins : { tweet : {} }
});
</script>
</body>
</html>
Puoi giocare ovviamente con il tipo di componente si aggiunge, lo stile e la funzionalità di esso, ma che dovrebbe almeno mostrarvi come iniziare.
fonte
2013-06-26 09:32:26
Sto ancora cercando un rispondi a questo Vedo che l'elenco dei plug-in si sta espandendo a: https://github.com/videojs/video.js/wiki/Plugins ma non ci sono ancora plug-in che aggiungono contenuto ai controlli. – Broonix
Vedere la risposta di ctangney sotto –