Este repositorio contiene complementos creados para mediaselementjs.
ES6 para características2.3.0Como parte de las mejoras continuas, el jugador, hemos decidido eliminar completamente el soporte para IE9 e IE10, ya que la cuota de mercado de esos navegadores juntos es 0.4%, según https://caniuse.com/usage-table.
Este cambio es para repositorios de complementos MediaElement y MediaElement Plugins .
Descargue el paquete de https://github.com/mediaelement/mediaelement-plugins y haga referencia a cualquier complemento que necesite desde la carpeta dist y agregue cualquier configuración relacionada con el complemento.
O puede usar un CDN; Verifique https://cdnjs.com/libraries/mediaelement-plugins.
Por ejemplo, si desea instalar el complemento de Speed , haga lo siguiente:
< script src =" /path/to/mediaelement-and-player.min.js " > </ script >
<!-- Include any languages from `build/lang` folder -->
< script src =" /path/to/dist/speed/speed.min.js " > </ script >
<!-- Translation file for plugin (includes ALL languages available on player)-->
< script src =" /path/to/dist/speed/speed-i18n.js " > </ script >
< script >
var player = new MediaElementPlayer ( 'playerId' , {
defaultSpeed : 0.75 ,
// other configuration elements
} ) ;
</ script >Algunos de ellos contendrán estilos CSS, así que colóquelos después de la hoja de estilo del jugador principal:
< link rel =" stylesheet " href =" /path/to/mediaelementplayer.min.css " >
< link rel =" stylesheet " href =" /path/to/dist/speed/speed.min.css " > Descárguelo en https://nodejs.org/ y siga los pasos para instalarlo, o instalar node.js con npm .
Una vez instalado, en el símbolo del sistema, escriba npm install , que descargará todas las herramientas necesarias.
/src/ , y nunca en /dist/ directorio. Esto es con el único propósito de facilitar la operación de fusión (y además, la compilación), y ayudar a las personas a ver los cambios más fácilmente.npm run eslint para garantizar la calidad del código.loop/loop.js ).package.json con un comando debajo de la configuración script para asegurarse de que se agrupe y compilará correctamente. Para obtener más referencia, revise el archivo.docs/FEATURE_NAME.md que describe su propósito, API, etc., y agregue el nombre con un enlace a su documento en el archivo README para mantener actualizado la documentación.MediaElement proporciona la manipulación DOM/AJAX/etc. Consulte este enlace para obtener más detalles.. mejs__ [ feature_name ] , . mejs- [ feature_name ] {
// all your styles
} 'use strict' ;
/**
* [Name of feature]
*
* [Description]
*/
// If plugin needs translations, put here English one in this format:
// mejs.i18n.en["mejs.id1"] = "String 1";
// mejs.i18n.en["mejs.id2"] = "String 2";
// Feature configuration
Object . assign ( mejs . MepDefaults , {
// Any variable that can be configured by the end user belongs here.
// Make sure is unique by checking API and Configuration file.
// Add comments about the nature of each of these variables.
} ) ;
Object . assign ( MediaElementPlayer . prototype , {
// Public variables (also documented according to JSDoc specifications)
/**
* Feature constructor.
*
* Always has to be prefixed with `build` and the name that will be used in MepDefaults.features list
* @param {MediaElementPlayer} player
* @param {HTMLElement} controls
* @param {HTMLElement} layers
* @param {HTMLElement} media
*/
build [ feature_name ] ( player , controls , layers , media ) {
// This allows us to access options and other useful elements already set.
// Adding variables to the object is a good idea if you plan to reuse
// those variables in further operations.
const t = this ;
// All code required inside here to keep it private;
// otherwise, you can create more methods or add variables
// outside of this scope
} ,
// Optionally, each feature can be destroyed setting a `clean` method
/**
* Feature destructor.
*
* Always has to be prefixed with `clean` and the name that was used in MepDefaults.features list
* @param {MediaElementPlayer} player
* @param {HTMLElement} controls
* @param {HTMLElement} layers
* @param {HTMLElement} media
*/
clean [ feature_name ] ( player , controls , layers , media ) { }
// Other optional public methods (all documented according to JSDoc specifications)
} ) ; Si las cadenas traducibles son parte del complemento, deberá crear un archivo [feature_name]-i18n.js con este formato:
'use strict' ;
if ( mejs . i18n . ca !== undefined ) {
mejs . i18n . ca [ "mejs.id1" ] = "" ;
}
if ( mejs . i18n . cs !== undefined ) {
mejs . i18n . cs [ "mejs.id1" ] = "" ;
}
// And the rest of the languages Nota : Cuantos más idiomas se integren en MediaElementPlayer , mayor será esta plantilla.
Además, si está agregando un nuevo idioma al MediaElementPlayer , deberá agregarlo en todos los archivos i18n existentes de la misma manera descritas en la plantilla anterior.
ES6 para características Todas las características se escriben utilizando especificaciones Ecmascript 2015 .
Consulte src/ Directorio y verifique cómo se escribieron los archivos para garantizar la compatibilidad.
Nota : El for...of bucle podría haberse utilizado, pero para agruparlos y reducir el tamaño de los archivos agrupados, se recomienda encarecidamente evitar su uso.
Cambios disponibles en el registro de cambios