Этот репозиторий содержит плагины, созданные для MediaElementJS.
ES6 для функций2.3.0В рамках непрерывных улучшений игрока мы решили полностью поддержать IE9 и IE10, поскольку доля рынка этих браузеров вместе составляет 0,4%, согласно https://caniuse.com/usage-table.
Это изменение предназначено для репозиториев MediaElement Plugins MediaElement и медиаэлемента.
Загрузите пакет с https://github.com/medieelement/medieelement-plugins и ссылайтесь на любые плагины, которые вам нужны из dist Polder, и добавьте любую конфигурацию, связанную с плагином.
Или вы можете использовать CDN; Проверьте https://cdnjs.com/libraries/medieelement-lugins.
Например, если вы хотите установить плагин Speed , сделайте следующее:
< 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 >Некоторые из них будут содержать стили CSS, поэтому поместите их после таблицы главного игрока:
< link rel =" stylesheet " href =" /path/to/mediaelementplayer.min.css " >
< link rel =" stylesheet " href =" /path/to/dist/speed/speed.min.css " > Загрузите его по адресу https://nodejs.org/ и следуйте шагам, чтобы установить его или установить node.js с помощью npm .
После установки в командной строке введите npm install , которая загрузит все необходимые инструменты.
/src/ / и никогда в /dist/ . Это с единственной целью облегчения операции слияния (и, кроме того, компиляции), и помогает людям легче увидеть изменения.npm run eslint чтобы обеспечить качество кода.loop/loop.js ).package.json script Для получения дополнительной информации просмотрите файл.docs/FEATURE_NAME.md описывающий его цель, API и т. Д., И добавите имя со ссылкой на его документ в файле README , чтобы сохранить документацию в актуальном состоянии.MediaElement для манипуляций с DOM/AJAX/и т. Д. Проверьте эту ссылку для получения более подробной информации.. 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)
} ) ; Если переводящие строки являются частью плагина, вам нужно будет создать файл [feature_name]-i18n.js с этим форматом:
'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 Примечание . Чем больше языков интегрировано в MediaElementPlayer , тем больше станет этот шаблон.
Кроме того, если вы добавляете новый язык в MediaElementPlayer , вам нужно будет добавить его во все существующие файлы i18n так же, как описано в шаблоне выше.
ES6 для функций Все функции написаны с использованием спецификаций Ecmascript 2015 .
См. src/ Directory и проверьте, как были записаны файлы, чтобы обеспечить совместимость.
Примечание : for...of цикла можно было бы использовать, но для того, чтобы объединить их и уменьшить размер комплексных файлов, настоятельно рекомендуется избежать его использования.
Изменения, доступные в журнале изменений