يحتوي هذا المستودع على ملحقات مكون من وسائل الإعلام.
ES6 للميزات2.3.0كجزء من التحسينات المستمرة للاعب ، قررنا إسقاط الدعم التام لـ IE9 و IE10 ، نظرًا لأن حصة السوق لتلك المتصفحات معًا تبلغ 0.4 ٪ ، وفقًا لـ https://caniuse.com/usage-table.
هذا التغيير مخصص لمستودعات MediaElement و MediaElement Plugins .
قم بتنزيل الحزمة من https://github.com/mediaelement/mediaElement-plugins ، والرجوع إلى أي مكونات إضافية تحتاجها من مجلد dist وإضافة أي تكوين مرتبط بالمكون الإضافي.
أو يمكنك استخدام CDN. تحقق من https://cdnjs.com/libraries/mediaelement-plugins.
على سبيل المثال ، إذا كنت ترغب في تثبيت البرنامج المساعد 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/ directory ، وليس في /dist/ directory. هذا مع الغرض الوحيد من تسهيل عملية دمج (وأبعد من ذلك ، التجميع) ، ومساعدة الناس على رؤية التغييرات بسهولة أكبر.npm run eslint لضمان جودة الرمز.loop/loop.js ).package.json بأمر تحت تكوين script للتأكد من تجميعه وتجميعه بشكل صحيح. لمزيد من المرجع ، راجع الملف.docs/FEATURE_NAME.md يصف الغرض ، واجهة برمجة التطبيقات ، وما إلى ذلك ، وإضافة الاسم مع رابط إلى المستند الخاص به في ملف README للحفاظ على تحديث الوثائق.MediaElement لمعالجة DOM/AJAX/etc. تحقق من هذا الرابط لمزيد من التفاصيل.. 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 الحلقة ، ولكن من أجل تجميعها وتقليل حجم الملفات المجمعة ، يوصى بشدة بتجنب استخدامه.
التغييرات المتاحة في سجل التغيير