first
This commit is contained in:
90
plugins/mediaelement/4.2.8/lang/ko.js
Normal file
90
plugins/mediaelement/4.2.8/lang/ko.js
Normal file
@@ -0,0 +1,90 @@
|
||||
'use strict';/*!
|
||||
* This is a `i18n` language object.
|
||||
*
|
||||
* Korean
|
||||
*
|
||||
* @author
|
||||
* Jalios (Twitter: @Jalios)
|
||||
* Sascha 'SoftCreatR' Greuel
|
||||
*
|
||||
* @see core/i18n.js
|
||||
*/
|
||||
(function (exports) {
|
||||
if (exports.ko === undefined) {
|
||||
exports.ko = {
|
||||
'mejs.plural-form': 0,
|
||||
'mejs.download-file': '파일 다운로드',
|
||||
'mejs.install-flash': 'Flash Player가 활성화되거나 설치되지 않은 브라우저를 사용 중입니다. 플래시 플레이어 플러그인을 켜거나 https://get.adobe.com/flashplayer/에서 최신 버전을 다운로드하십시오.',
|
||||
'mejs.fullscreen': '전체화면',
|
||||
'mejs.play': '작동',
|
||||
'mejs.pause': '정지',
|
||||
'mejs.time-slider': '시간 슬라이더',
|
||||
'mejs.time-help-text': '1초 전진하려면 좌/우측 화살표를 사용하시고 10초 전진하려면 위/아래 화살표를 사용하세요.',
|
||||
'mejs.live-broadcast' : '생방송',
|
||||
'mejs.volume-help-text': '볼륨을 높이거나 낮추려면 위/아래 화살표를 이용하세요.',
|
||||
'mejs.unmute': '음소거 해제',
|
||||
'mejs.mute': '말 없는',
|
||||
'mejs.volume-slider': '볼륨 슬라이더',
|
||||
'mejs.video-player': '비디오 플레이어',
|
||||
'mejs.audio-player': '오디오 플레이어',
|
||||
'mejs.captions-subtitles': '캡션/자막',
|
||||
'mejs.captions-chapters': '챕터',
|
||||
'mejs.none': '없음',
|
||||
'mejs.afrikaans': '아프리칸스어',
|
||||
'mejs.albanian': '알바니아',
|
||||
'mejs.arabic': '아랍어',
|
||||
'mejs.belarusian': '벨로루시 어',
|
||||
'mejs.bulgarian': '불가리아',
|
||||
'mejs.catalan': '카탈로니아 어',
|
||||
'mejs.chinese': '중국어',
|
||||
'mejs.chinese-simplified': '중국어 (간체)',
|
||||
'mejs.chinese-traditional': '중국어 (번체)',
|
||||
'mejs.croatian': '크로아티아어',
|
||||
'mejs.czech': '체코 어',
|
||||
'mejs.danish': '덴마크어',
|
||||
'mejs.dutch': '네덜란드어',
|
||||
'mejs.english': '영어',
|
||||
'mejs.estonian': '에스토니아',
|
||||
'mejs.filipino': '필리핀',
|
||||
'mejs.finnish': '핀란드어',
|
||||
'mejs.french': '프랑스어',
|
||||
'mejs.galician': '갈리시아인',
|
||||
'mejs.german': '독일어',
|
||||
'mejs.greek': '그리스어',
|
||||
'mejs.haitian-creole': '아이티 크리올',
|
||||
'mejs.hebrew': '히브리어',
|
||||
'mejs.hindi': '힌디어',
|
||||
'mejs.hungarian': '헝가리어',
|
||||
'mejs.icelandic': '아이슬란드 어',
|
||||
'mejs.indonesian': '인도네시아어',
|
||||
'mejs.irish': '아일랜드어',
|
||||
'mejs.italian': '이탈리아어',
|
||||
'mejs.japanese': '일본어',
|
||||
'mejs.korean': '한국어',
|
||||
'mejs.latvian': '라트비아어',
|
||||
'mejs.lithuanian': '리투아니아어',
|
||||
'mejs.macedonian': '마케도니아인',
|
||||
'mejs.malay': '말레이',
|
||||
'mejs.maltese': '몰타어',
|
||||
'mejs.norwegian': '노르웨이어',
|
||||
'mejs.persian': '페르시아어',
|
||||
'mejs.polish': '폴란드어',
|
||||
'mejs.portuguese': '포르투갈어',
|
||||
'mejs.romanian': '루마니아어',
|
||||
'mejs.russian': '러시아어',
|
||||
'mejs.serbian': '세르비아어',
|
||||
'mejs.slovak': '슬로바키아어',
|
||||
'mejs.slovenian': '슬로베니아어',
|
||||
'mejs.spanish': '스페인어',
|
||||
'mejs.swahili': '스와힐리어',
|
||||
'mejs.swedish': '스웨덴어',
|
||||
'mejs.tagalog': '타갈로그어',
|
||||
'mejs.thai': '태국어',
|
||||
'mejs.turkish': '터키어',
|
||||
'mejs.ukrainian': '우크라이나어',
|
||||
'mejs.vietnamese': '베트남인',
|
||||
'mejs.welsh': '웨일스 어',
|
||||
'mejs.yiddish': '이디시어'
|
||||
};
|
||||
}
|
||||
})(mejs.i18n);
|
||||
8508
plugins/mediaelement/4.2.8/mediaelement-and-player.js
Normal file
8508
plugins/mediaelement/4.2.8/mediaelement-and-player.js
Normal file
File diff suppressed because it is too large
Load Diff
12
plugins/mediaelement/4.2.8/mediaelement-and-player.min.js
vendored
Normal file
12
plugins/mediaelement/4.2.8/mediaelement-and-player.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
plugins/mediaelement/4.2.8/mediaelement-flash-audio-ogg.swf
Normal file
BIN
plugins/mediaelement/4.2.8/mediaelement-flash-audio-ogg.swf
Normal file
Binary file not shown.
BIN
plugins/mediaelement/4.2.8/mediaelement-flash-audio.swf
Normal file
BIN
plugins/mediaelement/4.2.8/mediaelement-flash-audio.swf
Normal file
Binary file not shown.
BIN
plugins/mediaelement/4.2.8/mediaelement-flash-video-hls.swf
Normal file
BIN
plugins/mediaelement/4.2.8/mediaelement-flash-video-hls.swf
Normal file
Binary file not shown.
BIN
plugins/mediaelement/4.2.8/mediaelement-flash-video-mdash.swf
Normal file
BIN
plugins/mediaelement/4.2.8/mediaelement-flash-video-mdash.swf
Normal file
Binary file not shown.
BIN
plugins/mediaelement/4.2.8/mediaelement-flash-video.swf
Normal file
BIN
plugins/mediaelement/4.2.8/mediaelement-flash-video.swf
Normal file
Binary file not shown.
3974
plugins/mediaelement/4.2.8/mediaelement.js
Normal file
3974
plugins/mediaelement/4.2.8/mediaelement.js
Normal file
File diff suppressed because it is too large
Load Diff
12
plugins/mediaelement/4.2.8/mediaelement.min.js
vendored
Normal file
12
plugins/mediaelement/4.2.8/mediaelement.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
774
plugins/mediaelement/4.2.8/mediaelementplayer-legacy.css
Normal file
774
plugins/mediaelement/4.2.8/mediaelementplayer-legacy.css
Normal file
@@ -0,0 +1,774 @@
|
||||
/* Accessibility: hide screen reader texts (and prefer "top" for RTL languages).
|
||||
Reference: http://blog.rrwd.nl/2015/04/04/the-screen-reader-text-class-why-and-how/ */
|
||||
.mejs-offscreen {
|
||||
border: 0;
|
||||
clip: rect( 1px, 1px, 1px, 1px );
|
||||
-webkit-clip-path: inset( 50% );
|
||||
clip-path: inset( 50% );
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
word-wrap: normal;
|
||||
}
|
||||
|
||||
.mejs-container {
|
||||
background: #000;
|
||||
box-sizing: border-box;
|
||||
font-family: 'Helvetica', Arial, serif;
|
||||
position: relative;
|
||||
text-align: left;
|
||||
text-indent: 0;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.mejs-container * {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/* Hide native play button and control bar from iOS to favor plugin button */
|
||||
.mejs-container video::-webkit-media-controls,
|
||||
.mejs-container video::-webkit-media-controls-panel,
|
||||
.mejs-container video::-webkit-media-controls-panel-container,
|
||||
.mejs-container video::-webkit-media-controls-start-playback-button {
|
||||
-webkit-appearance: none;
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.mejs-fill-container,
|
||||
.mejs-fill-container .mejs-container {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.mejs-fill-container {
|
||||
background: transparent;
|
||||
margin: 0 auto;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.mejs-container:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.mejs-iframe-overlay {
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.mejs-embed,
|
||||
.mejs-embed body {
|
||||
background: #000;
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.mejs-fullscreen {
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
.mejs-container-fullscreen {
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
overflow: hidden;
|
||||
position: fixed;
|
||||
right: 0;
|
||||
top: 0;
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
.mejs-container-fullscreen .mejs-mediaelement,
|
||||
.mejs-container-fullscreen video {
|
||||
height: 100% !important;
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
/* Start: LAYERS */
|
||||
.mejs-background {
|
||||
left: 0;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.mejs-mediaelement {
|
||||
height: 100%;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
.mejs-poster {
|
||||
background-position: 50% 50%;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
:root .mejs-poster-img {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.mejs-poster-img {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.mejs-overlay {
|
||||
-webkit-box-align: center;
|
||||
-webkit-align-items: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
display: -webkit-box;
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-pack: center;
|
||||
-webkit-justify-content: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.mejs-layer {
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.mejs-overlay-play {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.mejs-overlay-button {
|
||||
background: url('mejs-controls.svg') no-repeat;
|
||||
background-position: 0 -39px;
|
||||
height: 80px;
|
||||
width: 80px;
|
||||
}
|
||||
|
||||
.mejs-overlay:hover > .mejs-overlay-button {
|
||||
background-position: -80px -39px;
|
||||
}
|
||||
|
||||
.mejs-overlay-loading {
|
||||
height: 80px;
|
||||
width: 80px;
|
||||
}
|
||||
|
||||
.mejs-overlay-loading-bg-img {
|
||||
-webkit-animation: mejs-loading-spinner 1s linear infinite;
|
||||
animation: mejs-loading-spinner 1s linear infinite;
|
||||
background: transparent url('mejs-controls.svg') -160px -40px no-repeat;
|
||||
display: block;
|
||||
height: 80px;
|
||||
width: 80px;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
@-webkit-keyframes mejs-loading-spinner {
|
||||
100% {
|
||||
-webkit-transform: rotate(360deg);
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes mejs-loading-spinner {
|
||||
100% {
|
||||
-webkit-transform: rotate(360deg);
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
/* End: LAYERS */
|
||||
|
||||
/* Start: CONTROL BAR */
|
||||
.mejs-controls {
|
||||
bottom: 0;
|
||||
display: -webkit-box;
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
height: 40px;
|
||||
left: 0;
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
padding: 0 10px;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
z-index: 3;
|
||||
}
|
||||
|
||||
.mejs-controls:not([style*='display: none']) {
|
||||
background: rgba(255, 0, 0, 0.7);
|
||||
background: -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.35));
|
||||
background: linear-gradient(transparent, rgba(0, 0, 0, 0.35));
|
||||
}
|
||||
|
||||
.mejs-button,
|
||||
.mejs-time,
|
||||
.mejs-time-rail {
|
||||
font-size: 10px;
|
||||
height: 40px;
|
||||
line-height: 10px;
|
||||
margin: 0;
|
||||
width: 32px;
|
||||
}
|
||||
|
||||
.mejs-button > button {
|
||||
background: transparent url('mejs-controls.svg');
|
||||
border: 0;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
font-size: 0;
|
||||
height: 20px;
|
||||
line-height: 0;
|
||||
margin: 10px 6px;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
text-decoration: none;
|
||||
width: 20px;
|
||||
}
|
||||
|
||||
/* :focus for accessibility */
|
||||
.mejs-button > button:focus {
|
||||
outline: dotted 1px #999;
|
||||
}
|
||||
|
||||
.mejs-container-keyboard-inactive a,
|
||||
.mejs-container-keyboard-inactive a:focus,
|
||||
.mejs-container-keyboard-inactive button,
|
||||
.mejs-container-keyboard-inactive button:focus,
|
||||
.mejs-container-keyboard-inactive [role=slider],
|
||||
.mejs-container-keyboard-inactive [role=slider]:focus {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
/* End: CONTROL BAR */
|
||||
|
||||
/* Start: Time (Current / Duration) */
|
||||
.mejs-time {
|
||||
box-sizing: content-box;
|
||||
color: #fff;
|
||||
font-size: 11px;
|
||||
font-weight: bold;
|
||||
height: 24px;
|
||||
overflow: hidden;
|
||||
padding: 16px 6px 0;
|
||||
text-align: center;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
/* End: Time (Current / Duration) */
|
||||
|
||||
/* Start: Play/Pause/Stop */
|
||||
.mejs-play > button {
|
||||
background-position: 0 0;
|
||||
}
|
||||
|
||||
.mejs-pause > button {
|
||||
background-position: -20px 0;
|
||||
}
|
||||
|
||||
.mejs-replay > button {
|
||||
background-position: -160px 0;
|
||||
}
|
||||
|
||||
/* End: Play/Pause/Stop */
|
||||
|
||||
/* Start: Progress Bar */
|
||||
.mejs-time-rail {
|
||||
direction: ltr;
|
||||
-webkit-box-flex: 1;
|
||||
-webkit-flex-grow: 1;
|
||||
-ms-flex-positive: 1;
|
||||
flex-grow: 1;
|
||||
height: 40px;
|
||||
margin: 0 10px;
|
||||
padding-top: 10px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.mejs-time-total,
|
||||
.mejs-time-buffering,
|
||||
.mejs-time-loaded,
|
||||
.mejs-time-current,
|
||||
.mejs-time-float,
|
||||
.mejs-time-hovered,
|
||||
.mejs-time-float-current,
|
||||
.mejs-time-float-corner,
|
||||
.mejs-time-marker {
|
||||
border-radius: 2px;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
height: 10px;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.mejs-time-total {
|
||||
background: rgba(255, 255, 255, 0.3);
|
||||
margin: 5px 0 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.mejs-time-buffering {
|
||||
-webkit-animation: buffering-stripes 2s linear infinite;
|
||||
animation: buffering-stripes 2s linear infinite;
|
||||
background: -webkit-linear-gradient(135deg, rgba(255, 255, 255, 0.4) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.4) 75%, transparent 75%, transparent);
|
||||
background: linear-gradient(-45deg, rgba(255, 255, 255, 0.4) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.4) 75%, transparent 75%, transparent);
|
||||
background-size: 15px 15px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
@-webkit-keyframes buffering-stripes {
|
||||
from {
|
||||
background-position: 0 0;
|
||||
}
|
||||
to {
|
||||
background-position: 30px 0;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes buffering-stripes {
|
||||
from {
|
||||
background-position: 0 0;
|
||||
}
|
||||
to {
|
||||
background-position: 30px 0;
|
||||
}
|
||||
}
|
||||
|
||||
.mejs-time-loaded {
|
||||
background: rgba(255, 255, 255, 0.3);
|
||||
}
|
||||
|
||||
.mejs-time-current,
|
||||
.mejs-time-handle-content {
|
||||
background: rgba(255, 255, 255, 0.9);
|
||||
}
|
||||
|
||||
.mejs-time-hovered {
|
||||
background: rgba(255, 255, 255, 0.5);
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.mejs-time-hovered.negative {
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
.mejs-time-current,
|
||||
.mejs-time-buffering,
|
||||
.mejs-time-loaded,
|
||||
.mejs-time-hovered {
|
||||
left: 0;
|
||||
-webkit-transform: scaleX(0);
|
||||
-ms-transform: scaleX(0);
|
||||
transform: scaleX(0);
|
||||
-webkit-transform-origin: 0 0;
|
||||
-ms-transform-origin: 0 0;
|
||||
transform-origin: 0 0;
|
||||
-webkit-transition: 0.15s ease-in all;
|
||||
transition: 0.15s ease-in all;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.mejs-time-buffering {
|
||||
-webkit-transform: scaleX(1);
|
||||
-ms-transform: scaleX(1);
|
||||
transform: scaleX(1);
|
||||
}
|
||||
|
||||
.mejs-time-hovered {
|
||||
-webkit-transition: height 0.1s cubic-bezier(0.44, 0, 1, 1);
|
||||
transition: height 0.1s cubic-bezier(0.44, 0, 1, 1);
|
||||
}
|
||||
|
||||
.mejs-time-hovered.no-hover {
|
||||
-webkit-transform: scaleX(0) !important;
|
||||
-ms-transform: scaleX(0) !important;
|
||||
transform: scaleX(0) !important;
|
||||
}
|
||||
|
||||
.mejs-time-handle,
|
||||
.mejs-time-handle-content {
|
||||
border: 4px solid transparent;
|
||||
cursor: pointer;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
-webkit-transform: translateX(0);
|
||||
-ms-transform: translateX(0);
|
||||
transform: translateX(0);
|
||||
z-index: 11;
|
||||
}
|
||||
|
||||
.mejs-time-handle-content {
|
||||
border: 4px solid rgba(255, 255, 255, 0.9);
|
||||
border-radius: 50%;
|
||||
height: 10px;
|
||||
left: -7px;
|
||||
top: -4px;
|
||||
-webkit-transform: scale(0);
|
||||
-ms-transform: scale(0);
|
||||
transform: scale(0);
|
||||
width: 10px;
|
||||
}
|
||||
|
||||
.mejs-time-rail:hover .mejs-time-handle-content,
|
||||
.mejs-time-rail .mejs-time-handle-content:focus,
|
||||
.mejs-time-rail .mejs-time-handle-content:active {
|
||||
-webkit-transform: scale(1);
|
||||
-ms-transform: scale(1);
|
||||
transform: scale(1);
|
||||
}
|
||||
|
||||
.mejs-time-float {
|
||||
background: #eee;
|
||||
border: solid 1px #333;
|
||||
bottom: 100%;
|
||||
color: #111;
|
||||
display: none;
|
||||
height: 17px;
|
||||
margin-bottom: 9px;
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
-webkit-transform: translateX(-50%);
|
||||
-ms-transform: translateX(-50%);
|
||||
transform: translateX(-50%);
|
||||
width: 36px;
|
||||
}
|
||||
|
||||
.mejs-time-float-current {
|
||||
display: block;
|
||||
left: 0;
|
||||
margin: 2px;
|
||||
text-align: center;
|
||||
width: 30px;
|
||||
}
|
||||
|
||||
.mejs-time-float-corner {
|
||||
border: solid 5px #eee;
|
||||
border-color: #eee transparent transparent;
|
||||
border-radius: 0;
|
||||
display: block;
|
||||
height: 0;
|
||||
left: 50%;
|
||||
line-height: 0;
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
-webkit-transform: translateX(-50%);
|
||||
-ms-transform: translateX(-50%);
|
||||
transform: translateX(-50%);
|
||||
width: 0;
|
||||
}
|
||||
|
||||
.mejs-long-video .mejs-time-float {
|
||||
margin-left: -23px;
|
||||
width: 64px;
|
||||
}
|
||||
|
||||
.mejs-long-video .mejs-time-float-current {
|
||||
width: 60px;
|
||||
}
|
||||
|
||||
.mejs-broadcast {
|
||||
color: #fff;
|
||||
height: 10px;
|
||||
position: absolute;
|
||||
top: 15px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* End: Progress Bar */
|
||||
|
||||
/* Start: Fullscreen */
|
||||
.mejs-fullscreen-button > button {
|
||||
background-position: -80px 0;
|
||||
}
|
||||
|
||||
.mejs-unfullscreen > button {
|
||||
background-position: -100px 0;
|
||||
}
|
||||
|
||||
/* End: Fullscreen */
|
||||
|
||||
/* Start: Mute/Volume */
|
||||
.mejs-mute > button {
|
||||
background-position: -60px 0;
|
||||
}
|
||||
|
||||
.mejs-unmute > button {
|
||||
background-position: -40px 0;
|
||||
}
|
||||
|
||||
.mejs-volume-button {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.mejs-volume-button > .mejs-volume-slider {
|
||||
-webkit-backface-visibility: hidden;
|
||||
background: rgba(50, 50, 50, 0.7);
|
||||
border-radius: 0;
|
||||
bottom: 100%;
|
||||
display: none;
|
||||
height: 115px;
|
||||
left: 50%;
|
||||
margin: 0;
|
||||
position: absolute;
|
||||
-webkit-transform: translateX(-50%);
|
||||
-ms-transform: translateX(-50%);
|
||||
transform: translateX(-50%);
|
||||
width: 25px;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.mejs-volume-button:hover {
|
||||
border-radius: 0 0 4px 4px;
|
||||
}
|
||||
|
||||
.mejs-volume-total {
|
||||
background: rgba(255, 255, 255, 0.5);
|
||||
height: 100px;
|
||||
left: 50%;
|
||||
margin: 0;
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
-webkit-transform: translateX(-50%);
|
||||
-ms-transform: translateX(-50%);
|
||||
transform: translateX(-50%);
|
||||
width: 2px;
|
||||
}
|
||||
|
||||
.mejs-volume-current {
|
||||
background: rgba(255, 255, 255, 0.9);
|
||||
left: 0;
|
||||
margin: 0;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.mejs-volume-handle {
|
||||
background: rgba(255, 255, 255, 0.9);
|
||||
border-radius: 1px;
|
||||
cursor: ns-resize;
|
||||
height: 6px;
|
||||
left: 50%;
|
||||
position: absolute;
|
||||
-webkit-transform: translateX(-50%);
|
||||
-ms-transform: translateX(-50%);
|
||||
transform: translateX(-50%);
|
||||
width: 16px;
|
||||
}
|
||||
|
||||
.mejs-horizontal-volume-slider {
|
||||
display: block;
|
||||
height: 36px;
|
||||
position: relative;
|
||||
vertical-align: middle;
|
||||
width: 56px;
|
||||
}
|
||||
|
||||
.mejs-horizontal-volume-total {
|
||||
background: rgba(50, 50, 50, 0.8);
|
||||
border-radius: 2px;
|
||||
font-size: 1px;
|
||||
height: 8px;
|
||||
left: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
top: 16px;
|
||||
width: 50px;
|
||||
}
|
||||
|
||||
.mejs-horizontal-volume-current {
|
||||
background: rgba(255, 255, 255, 0.8);
|
||||
border-radius: 2px;
|
||||
font-size: 1px;
|
||||
height: 100%;
|
||||
left: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.mejs-horizontal-volume-handle {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* End: Mute/Volume */
|
||||
|
||||
/* Start: Track (Captions and Chapters) */
|
||||
.mejs-captions-button,
|
||||
.mejs-chapters-button {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.mejs-captions-button > button {
|
||||
background-position: -140px 0;
|
||||
}
|
||||
|
||||
.mejs-chapters-button > button {
|
||||
background-position: -180px 0;
|
||||
}
|
||||
|
||||
.mejs-captions-button > .mejs-captions-selector,
|
||||
.mejs-chapters-button > .mejs-chapters-selector {
|
||||
background: rgba(50, 50, 50, 0.7);
|
||||
border: solid 1px transparent;
|
||||
border-radius: 0;
|
||||
bottom: 100%;
|
||||
margin-right: -43px;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
right: 50%;
|
||||
visibility: visible;
|
||||
width: 86px;
|
||||
}
|
||||
|
||||
.mejs-chapters-button > .mejs-chapters-selector {
|
||||
margin-right: -55px;
|
||||
width: 110px;
|
||||
}
|
||||
|
||||
.mejs-captions-selector-list,
|
||||
.mejs-chapters-selector-list {
|
||||
list-style-type: none !important;
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.mejs-captions-selector-list-item,
|
||||
.mejs-chapters-selector-list-item {
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
list-style-type: none !important;
|
||||
margin: 0 0 6px;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.mejs-captions-selector-list-item:hover,
|
||||
.mejs-chapters-selector-list-item:hover {
|
||||
background-color: rgb(200, 200, 200) !important;
|
||||
background-color: rgba(255, 255, 255, 0.4) !important;
|
||||
}
|
||||
|
||||
.mejs-captions-selector-input,
|
||||
.mejs-chapters-selector-input {
|
||||
clear: both;
|
||||
float: left;
|
||||
left: -1000px;
|
||||
margin: 3px 3px 0 5px;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.mejs-captions-selector-label,
|
||||
.mejs-chapters-selector-label {
|
||||
cursor: pointer;
|
||||
float: left;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
padding: 4px 10px 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.mejs-captions-selected,
|
||||
.mejs-chapters-selected {
|
||||
color: rgba(33, 248, 248, 1);
|
||||
}
|
||||
|
||||
.mejs-captions-translations {
|
||||
font-size: 10px;
|
||||
margin: 0 0 5px;
|
||||
}
|
||||
|
||||
.mejs-captions-layer {
|
||||
bottom: 0;
|
||||
color: #fff;
|
||||
font-size: 16px;
|
||||
left: 0;
|
||||
line-height: 20px;
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.mejs-captions-layer a {
|
||||
color: #fff;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.mejs-captions-layer[lang=ar] {
|
||||
font-size: 20px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.mejs-captions-position {
|
||||
bottom: 15px;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.mejs-captions-position-hover {
|
||||
bottom: 35px;
|
||||
}
|
||||
|
||||
.mejs-captions-text,
|
||||
.mejs-captions-text * {
|
||||
background: rgba(20, 20, 20, 0.5);
|
||||
box-shadow: 5px 0 0 rgba(20, 20, 20, 0.5), -5px 0 0 rgba(20, 20, 20, 0.5);
|
||||
padding: 0;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
.mejs-container.mejs-hide-cues video::-webkit-media-text-track-container {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* End: Track (Captions and Chapters) */
|
||||
|
||||
/* Start: Error */
|
||||
.mejs-overlay-error {
|
||||
position: relative;
|
||||
}
|
||||
.mejs-overlay-error > img {
|
||||
left: 0;
|
||||
max-width: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
z-index: -1;
|
||||
}
|
||||
.mejs-cannotplay,
|
||||
.mejs-cannotplay a {
|
||||
color: #fff;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
.mejs-cannotplay {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.mejs-cannotplay p,
|
||||
.mejs-cannotplay a {
|
||||
display: inline-block;
|
||||
padding: 0 15px;
|
||||
width: 100%;
|
||||
}
|
||||
/* End: Error */
|
||||
1
plugins/mediaelement/4.2.8/mediaelementplayer-legacy.min.css
vendored
Normal file
1
plugins/mediaelement/4.2.8/mediaelementplayer-legacy.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
774
plugins/mediaelement/4.2.8/mediaelementplayer.css
Normal file
774
plugins/mediaelement/4.2.8/mediaelementplayer.css
Normal file
@@ -0,0 +1,774 @@
|
||||
/* Accessibility: hide screen reader texts (and prefer "top" for RTL languages).
|
||||
Reference: http://blog.rrwd.nl/2015/04/04/the-screen-reader-text-class-why-and-how/ */
|
||||
.mejs__offscreen {
|
||||
border: 0;
|
||||
clip: rect( 1px, 1px, 1px, 1px );
|
||||
-webkit-clip-path: inset( 50% );
|
||||
clip-path: inset( 50% );
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
word-wrap: normal;
|
||||
}
|
||||
|
||||
.mejs__container {
|
||||
background: #000;
|
||||
box-sizing: border-box;
|
||||
font-family: 'Helvetica', Arial, serif;
|
||||
position: relative;
|
||||
text-align: left;
|
||||
text-indent: 0;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.mejs__container * {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
/* Hide native play button and control bar from iOS to favor plugin button */
|
||||
.mejs__container video::-webkit-media-controls,
|
||||
.mejs__container video::-webkit-media-controls-panel,
|
||||
.mejs__container video::-webkit-media-controls-panel-container,
|
||||
.mejs__container video::-webkit-media-controls-start-playback-button {
|
||||
-webkit-appearance: none;
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.mejs__fill-container,
|
||||
.mejs__fill-container .mejs__container {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.mejs__fill-container {
|
||||
background: transparent;
|
||||
margin: 0 auto;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.mejs__container:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.mejs__iframe-overlay {
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.mejs__embed,
|
||||
.mejs__embed body {
|
||||
background: #000;
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.mejs__fullscreen {
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
.mejs__container-fullscreen {
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
overflow: hidden;
|
||||
position: fixed;
|
||||
right: 0;
|
||||
top: 0;
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
.mejs__container-fullscreen .mejs__mediaelement,
|
||||
.mejs__container-fullscreen video {
|
||||
height: 100% !important;
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
/* Start: LAYERS */
|
||||
.mejs__background {
|
||||
left: 0;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.mejs__mediaelement {
|
||||
height: 100%;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
.mejs__poster {
|
||||
background-position: 50% 50%;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
:root .mejs__poster-img {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.mejs__poster-img {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.mejs__overlay {
|
||||
-webkit-box-align: center;
|
||||
-webkit-align-items: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
display: -webkit-box;
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-pack: center;
|
||||
-webkit-justify-content: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.mejs__layer {
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.mejs__overlay-play {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.mejs__overlay-button {
|
||||
background: url('mejs-controls.svg') no-repeat;
|
||||
background-position: 0 -39px;
|
||||
height: 80px;
|
||||
width: 80px;
|
||||
}
|
||||
|
||||
.mejs__overlay:hover > .mejs__overlay-button {
|
||||
background-position: -80px -39px;
|
||||
}
|
||||
|
||||
.mejs__overlay-loading {
|
||||
height: 80px;
|
||||
width: 80px;
|
||||
}
|
||||
|
||||
.mejs__overlay-loading-bg-img {
|
||||
-webkit-animation: mejs__loading-spinner 1s linear infinite;
|
||||
animation: mejs__loading-spinner 1s linear infinite;
|
||||
background: transparent url('mejs-controls.svg') -160px -40px no-repeat;
|
||||
display: block;
|
||||
height: 80px;
|
||||
width: 80px;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
@-webkit-keyframes mejs__loading-spinner {
|
||||
100% {
|
||||
-webkit-transform: rotate(360deg);
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes mejs__loading-spinner {
|
||||
100% {
|
||||
-webkit-transform: rotate(360deg);
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
/* End: LAYERS */
|
||||
|
||||
/* Start: CONTROL BAR */
|
||||
.mejs__controls {
|
||||
bottom: 0;
|
||||
display: -webkit-box;
|
||||
display: -webkit-flex;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
height: 40px;
|
||||
left: 0;
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
padding: 0 10px;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
z-index: 3;
|
||||
}
|
||||
|
||||
.mejs__controls:not([style*='display: none']) {
|
||||
background: rgba(255, 0, 0, 0.7);
|
||||
background: -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.35));
|
||||
background: linear-gradient(transparent, rgba(0, 0, 0, 0.35));
|
||||
}
|
||||
|
||||
.mejs__button,
|
||||
.mejs__time,
|
||||
.mejs__time-rail {
|
||||
font-size: 10px;
|
||||
height: 40px;
|
||||
line-height: 10px;
|
||||
margin: 0;
|
||||
width: 32px;
|
||||
}
|
||||
|
||||
.mejs__button > button {
|
||||
background: transparent url('mejs-controls.svg');
|
||||
border: 0;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
font-size: 0;
|
||||
height: 20px;
|
||||
line-height: 0;
|
||||
margin: 10px 6px;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
text-decoration: none;
|
||||
width: 20px;
|
||||
}
|
||||
|
||||
/* :focus for accessibility */
|
||||
.mejs__button > button:focus {
|
||||
outline: dotted 1px #999;
|
||||
}
|
||||
|
||||
.mejs__container-keyboard-inactive a,
|
||||
.mejs__container-keyboard-inactive a:focus,
|
||||
.mejs__container-keyboard-inactive button,
|
||||
.mejs__container-keyboard-inactive button:focus,
|
||||
.mejs__container-keyboard-inactive [role=slider],
|
||||
.mejs__container-keyboard-inactive [role=slider]:focus {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
/* End: CONTROL BAR */
|
||||
|
||||
/* Start: Time (Current / Duration) */
|
||||
.mejs__time {
|
||||
box-sizing: content-box;
|
||||
color: #fff;
|
||||
font-size: 11px;
|
||||
font-weight: bold;
|
||||
height: 24px;
|
||||
overflow: hidden;
|
||||
padding: 16px 6px 0;
|
||||
text-align: center;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
/* End: Time (Current / Duration) */
|
||||
|
||||
/* Start: Play/Pause/Stop */
|
||||
.mejs__play > button {
|
||||
background-position: 0 0;
|
||||
}
|
||||
|
||||
.mejs__pause > button {
|
||||
background-position: -20px 0;
|
||||
}
|
||||
|
||||
.mejs__replay > button {
|
||||
background-position: -160px 0;
|
||||
}
|
||||
|
||||
/* End: Play/Pause/Stop */
|
||||
|
||||
/* Start: Progress Bar */
|
||||
.mejs__time-rail {
|
||||
direction: ltr;
|
||||
-webkit-box-flex: 1;
|
||||
-webkit-flex-grow: 1;
|
||||
-ms-flex-positive: 1;
|
||||
flex-grow: 1;
|
||||
height: 40px;
|
||||
margin: 0 10px;
|
||||
padding-top: 10px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.mejs__time-total,
|
||||
.mejs__time-buffering,
|
||||
.mejs__time-loaded,
|
||||
.mejs__time-current,
|
||||
.mejs__time-float,
|
||||
.mejs__time-hovered,
|
||||
.mejs__time-float-current,
|
||||
.mejs__time-float-corner,
|
||||
.mejs__time-marker {
|
||||
border-radius: 2px;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
height: 10px;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.mejs__time-total {
|
||||
background: rgba(255, 255, 255, 0.3);
|
||||
margin: 5px 0 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.mejs__time-buffering {
|
||||
-webkit-animation: buffering-stripes 2s linear infinite;
|
||||
animation: buffering-stripes 2s linear infinite;
|
||||
background: -webkit-linear-gradient(135deg, rgba(255, 255, 255, 0.4) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.4) 75%, transparent 75%, transparent);
|
||||
background: linear-gradient(-45deg, rgba(255, 255, 255, 0.4) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0.4) 75%, transparent 75%, transparent);
|
||||
background-size: 15px 15px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
@-webkit-keyframes buffering-stripes {
|
||||
from {
|
||||
background-position: 0 0;
|
||||
}
|
||||
to {
|
||||
background-position: 30px 0;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes buffering-stripes {
|
||||
from {
|
||||
background-position: 0 0;
|
||||
}
|
||||
to {
|
||||
background-position: 30px 0;
|
||||
}
|
||||
}
|
||||
|
||||
.mejs__time-loaded {
|
||||
background: rgba(255, 255, 255, 0.3);
|
||||
}
|
||||
|
||||
.mejs__time-current,
|
||||
.mejs__time-handle-content {
|
||||
background: rgba(255, 255, 255, 0.9);
|
||||
}
|
||||
|
||||
.mejs__time-hovered {
|
||||
background: rgba(255, 255, 255, 0.5);
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.mejs__time-hovered.negative {
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
.mejs__time-current,
|
||||
.mejs__time-buffering,
|
||||
.mejs__time-loaded,
|
||||
.mejs__time-hovered {
|
||||
left: 0;
|
||||
-webkit-transform: scaleX(0);
|
||||
-ms-transform: scaleX(0);
|
||||
transform: scaleX(0);
|
||||
-webkit-transform-origin: 0 0;
|
||||
-ms-transform-origin: 0 0;
|
||||
transform-origin: 0 0;
|
||||
-webkit-transition: 0.15s ease-in all;
|
||||
transition: 0.15s ease-in all;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.mejs__time-buffering {
|
||||
-webkit-transform: scaleX(1);
|
||||
-ms-transform: scaleX(1);
|
||||
transform: scaleX(1);
|
||||
}
|
||||
|
||||
.mejs__time-hovered {
|
||||
-webkit-transition: height 0.1s cubic-bezier(0.44, 0, 1, 1);
|
||||
transition: height 0.1s cubic-bezier(0.44, 0, 1, 1);
|
||||
}
|
||||
|
||||
.mejs__time-hovered.no-hover {
|
||||
-webkit-transform: scaleX(0) !important;
|
||||
-ms-transform: scaleX(0) !important;
|
||||
transform: scaleX(0) !important;
|
||||
}
|
||||
|
||||
.mejs__time-handle,
|
||||
.mejs__time-handle-content {
|
||||
border: 4px solid transparent;
|
||||
cursor: pointer;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
-webkit-transform: translateX(0);
|
||||
-ms-transform: translateX(0);
|
||||
transform: translateX(0);
|
||||
z-index: 11;
|
||||
}
|
||||
|
||||
.mejs__time-handle-content {
|
||||
border: 4px solid rgba(255, 255, 255, 0.9);
|
||||
border-radius: 50%;
|
||||
height: 10px;
|
||||
left: -7px;
|
||||
top: -4px;
|
||||
-webkit-transform: scale(0);
|
||||
-ms-transform: scale(0);
|
||||
transform: scale(0);
|
||||
width: 10px;
|
||||
}
|
||||
|
||||
.mejs__time-rail:hover .mejs__time-handle-content,
|
||||
.mejs__time-rail .mejs__time-handle-content:focus,
|
||||
.mejs__time-rail .mejs__time-handle-content:active {
|
||||
-webkit-transform: scale(1);
|
||||
-ms-transform: scale(1);
|
||||
transform: scale(1);
|
||||
}
|
||||
|
||||
.mejs__time-float {
|
||||
background: #eee;
|
||||
border: solid 1px #333;
|
||||
bottom: 100%;
|
||||
color: #111;
|
||||
display: none;
|
||||
height: 17px;
|
||||
margin-bottom: 9px;
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
-webkit-transform: translateX(-50%);
|
||||
-ms-transform: translateX(-50%);
|
||||
transform: translateX(-50%);
|
||||
width: 36px;
|
||||
}
|
||||
|
||||
.mejs__time-float-current {
|
||||
display: block;
|
||||
left: 0;
|
||||
margin: 2px;
|
||||
text-align: center;
|
||||
width: 30px;
|
||||
}
|
||||
|
||||
.mejs__time-float-corner {
|
||||
border: solid 5px #eee;
|
||||
border-color: #eee transparent transparent;
|
||||
border-radius: 0;
|
||||
display: block;
|
||||
height: 0;
|
||||
left: 50%;
|
||||
line-height: 0;
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
-webkit-transform: translateX(-50%);
|
||||
-ms-transform: translateX(-50%);
|
||||
transform: translateX(-50%);
|
||||
width: 0;
|
||||
}
|
||||
|
||||
.mejs__long-video .mejs__time-float {
|
||||
margin-left: -23px;
|
||||
width: 64px;
|
||||
}
|
||||
|
||||
.mejs__long-video .mejs__time-float-current {
|
||||
width: 60px;
|
||||
}
|
||||
|
||||
.mejs__broadcast {
|
||||
color: #fff;
|
||||
height: 10px;
|
||||
position: absolute;
|
||||
top: 15px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* End: Progress Bar */
|
||||
|
||||
/* Start: Fullscreen */
|
||||
.mejs__fullscreen-button > button {
|
||||
background-position: -80px 0;
|
||||
}
|
||||
|
||||
.mejs__unfullscreen > button {
|
||||
background-position: -100px 0;
|
||||
}
|
||||
|
||||
/* End: Fullscreen */
|
||||
|
||||
/* Start: Mute/Volume */
|
||||
.mejs__mute > button {
|
||||
background-position: -60px 0;
|
||||
}
|
||||
|
||||
.mejs__unmute > button {
|
||||
background-position: -40px 0;
|
||||
}
|
||||
|
||||
.mejs__volume-button {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.mejs__volume-button > .mejs__volume-slider {
|
||||
-webkit-backface-visibility: hidden;
|
||||
background: rgba(50, 50, 50, 0.7);
|
||||
border-radius: 0;
|
||||
bottom: 100%;
|
||||
display: none;
|
||||
height: 115px;
|
||||
left: 50%;
|
||||
margin: 0;
|
||||
position: absolute;
|
||||
-webkit-transform: translateX(-50%);
|
||||
-ms-transform: translateX(-50%);
|
||||
transform: translateX(-50%);
|
||||
width: 25px;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.mejs__volume-button:hover {
|
||||
border-radius: 0 0 4px 4px;
|
||||
}
|
||||
|
||||
.mejs__volume-total {
|
||||
background: rgba(255, 255, 255, 0.5);
|
||||
height: 100px;
|
||||
left: 50%;
|
||||
margin: 0;
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
-webkit-transform: translateX(-50%);
|
||||
-ms-transform: translateX(-50%);
|
||||
transform: translateX(-50%);
|
||||
width: 2px;
|
||||
}
|
||||
|
||||
.mejs__volume-current {
|
||||
background: rgba(255, 255, 255, 0.9);
|
||||
left: 0;
|
||||
margin: 0;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.mejs__volume-handle {
|
||||
background: rgba(255, 255, 255, 0.9);
|
||||
border-radius: 1px;
|
||||
cursor: ns-resize;
|
||||
height: 6px;
|
||||
left: 50%;
|
||||
position: absolute;
|
||||
-webkit-transform: translateX(-50%);
|
||||
-ms-transform: translateX(-50%);
|
||||
transform: translateX(-50%);
|
||||
width: 16px;
|
||||
}
|
||||
|
||||
.mejs__horizontal-volume-slider {
|
||||
display: block;
|
||||
height: 36px;
|
||||
position: relative;
|
||||
vertical-align: middle;
|
||||
width: 56px;
|
||||
}
|
||||
|
||||
.mejs__horizontal-volume-total {
|
||||
background: rgba(50, 50, 50, 0.8);
|
||||
border-radius: 2px;
|
||||
font-size: 1px;
|
||||
height: 8px;
|
||||
left: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
top: 16px;
|
||||
width: 50px;
|
||||
}
|
||||
|
||||
.mejs__horizontal-volume-current {
|
||||
background: rgba(255, 255, 255, 0.8);
|
||||
border-radius: 2px;
|
||||
font-size: 1px;
|
||||
height: 100%;
|
||||
left: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.mejs__horizontal-volume-handle {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* End: Mute/Volume */
|
||||
|
||||
/* Start: Track (Captions and Chapters) */
|
||||
.mejs__captions-button,
|
||||
.mejs__chapters-button {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.mejs__captions-button > button {
|
||||
background-position: -140px 0;
|
||||
}
|
||||
|
||||
.mejs__chapters-button > button {
|
||||
background-position: -180px 0;
|
||||
}
|
||||
|
||||
.mejs__captions-button > .mejs__captions-selector,
|
||||
.mejs__chapters-button > .mejs__chapters-selector {
|
||||
background: rgba(50, 50, 50, 0.7);
|
||||
border: solid 1px transparent;
|
||||
border-radius: 0;
|
||||
bottom: 100%;
|
||||
margin-right: -43px;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
right: 50%;
|
||||
visibility: visible;
|
||||
width: 86px;
|
||||
}
|
||||
|
||||
.mejs__chapters-button > .mejs__chapters-selector {
|
||||
margin-right: -55px;
|
||||
width: 110px;
|
||||
}
|
||||
|
||||
.mejs__captions-selector-list,
|
||||
.mejs__chapters-selector-list {
|
||||
list-style-type: none !important;
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.mejs__captions-selector-list-item,
|
||||
.mejs__chapters-selector-list-item {
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
list-style-type: none !important;
|
||||
margin: 0 0 6px;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.mejs__captions-selector-list-item:hover,
|
||||
.mejs__chapters-selector-list-item:hover {
|
||||
background-color: rgb(200, 200, 200) !important;
|
||||
background-color: rgba(255, 255, 255, 0.4) !important;
|
||||
}
|
||||
|
||||
.mejs__captions-selector-input,
|
||||
.mejs__chapters-selector-input {
|
||||
clear: both;
|
||||
float: left;
|
||||
left: -1000px;
|
||||
margin: 3px 3px 0 5px;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.mejs__captions-selector-label,
|
||||
.mejs__chapters-selector-label {
|
||||
cursor: pointer;
|
||||
float: left;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
padding: 4px 10px 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.mejs__captions-selected,
|
||||
.mejs__chapters-selected {
|
||||
color: rgba(33, 248, 248, 1);
|
||||
}
|
||||
|
||||
.mejs__captions-translations {
|
||||
font-size: 10px;
|
||||
margin: 0 0 5px;
|
||||
}
|
||||
|
||||
.mejs__captions-layer {
|
||||
bottom: 0;
|
||||
color: #fff;
|
||||
font-size: 16px;
|
||||
left: 0;
|
||||
line-height: 20px;
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.mejs__captions-layer a {
|
||||
color: #fff;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.mejs__captions-layer[lang=ar] {
|
||||
font-size: 20px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.mejs__captions-position {
|
||||
bottom: 15px;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.mejs__captions-position-hover {
|
||||
bottom: 35px;
|
||||
}
|
||||
|
||||
.mejs__captions-text,
|
||||
.mejs__captions-text * {
|
||||
background: rgba(20, 20, 20, 0.5);
|
||||
box-shadow: 5px 0 0 rgba(20, 20, 20, 0.5), -5px 0 0 rgba(20, 20, 20, 0.5);
|
||||
padding: 0;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
.mejs__container.mejs__hide-cues video::-webkit-media-text-track-container {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* End: Track (Captions and Chapters) */
|
||||
|
||||
/* Start: Error */
|
||||
.mejs__overlay-error {
|
||||
position: relative;
|
||||
}
|
||||
.mejs__overlay-error > img {
|
||||
left: 0;
|
||||
max-width: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
z-index: -1;
|
||||
}
|
||||
.mejs__cannotplay,
|
||||
.mejs__cannotplay a {
|
||||
color: #fff;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
.mejs__cannotplay {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.mejs__cannotplay p,
|
||||
.mejs__cannotplay a {
|
||||
display: inline-block;
|
||||
padding: 0 15px;
|
||||
width: 100%;
|
||||
}
|
||||
/* End: Error */
|
||||
1
plugins/mediaelement/4.2.8/mediaelementplayer.min.css
vendored
Normal file
1
plugins/mediaelement/4.2.8/mediaelementplayer.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
plugins/mediaelement/4.2.8/mejs-controls.png
Normal file
BIN
plugins/mediaelement/4.2.8/mejs-controls.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.8 KiB |
1
plugins/mediaelement/4.2.8/mejs-controls.svg
Normal file
1
plugins/mediaelement/4.2.8/mejs-controls.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="400" height="120" viewBox="0 0 400 120"><style>.st0{fill:#FFFFFF;width:16px;height:16px} .st1{fill:none;stroke:#FFFFFF;stroke-width:1.5;stroke-linecap:round;} .st2{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;} .st3{fill:none;stroke:#FFFFFF;} .st4{fill:#231F20;} .st5{opacity:0.75;fill:none;stroke:#FFFFFF;stroke-width:5;enable-background:new;} .st6{fill:none;stroke:#FFFFFF;stroke-width:5;} .st7{opacity:0.4;fill:#FFFFFF;enable-background:new;} .st8{opacity:0.6;fill:#FFFFFF;enable-background:new;} .st9{opacity:0.8;fill:#FFFFFF;enable-background:new;} .st10{opacity:0.9;fill:#FFFFFF;enable-background:new;} .st11{opacity:0.3;fill:#FFFFFF;enable-background:new;} .st12{opacity:0.5;fill:#FFFFFF;enable-background:new;} .st13{opacity:0.7;fill:#FFFFFF;enable-background:new;}</style><path class="st0" d="M16.5 8.5c.3.1.4.5.2.8-.1.1-.1.2-.2.2l-11.4 7c-.5.3-.8.1-.8-.5V2c0-.5.4-.8.8-.5l11.4 7z"/><path class="st0" d="M24 1h2.2c.6 0 1 .4 1 1v14c0 .6-.4 1-1 1H24c-.6 0-1-.4-1-1V2c0-.5.4-1 1-1zm9.8 0H36c.6 0 1 .4 1 1v14c0 .6-.4 1-1 1h-2.2c-.6 0-1-.4-1-1V2c0-.5.4-1 1-1z"/><path class="st0" d="M81 1.4c0-.6.4-1 1-1h5.4c.6 0 .7.3.3.7l-6 6c-.4.4-.7.3-.7-.3V1.4zm0 15.8c0 .6.4 1 1 1h5.4c.6 0 .7-.3.3-.7l-6-6c-.4-.4-.7-.3-.7.3v5.4zM98.8 1.4c0-.6-.4-1-1-1h-5.4c-.6 0-.7.3-.3.7l6 6c.4.4.7.3.7-.3V1.4zm0 15.8c0 .6-.4 1-1 1h-5.4c-.6 0-.7-.3-.3-.7l6-6c.4-.4.7-.3.7.3v5.4z"/><path class="st0" d="M112.7 5c0 .6.4 1 1 1h4.1c.6 0 .7-.3.3-.7L113.4.6c-.4-.4-.7-.3-.7.3V5zm-7.1 1c.6 0 1-.4 1-1V.9c0-.6-.3-.7-.7-.3l-4.7 4.7c-.4.4-.3.7.3.7h4.1zm1 7.1c0-.6-.4-1-1-1h-4.1c-.6 0-.7.3-.3.7l4.7 4.7c.4.4.7.3.7-.3v-4.1zm7.1-1c-.6 0-1 .4-1 1v4.1c0 .5.3.7.7.3l4.7-4.7c.4-.4.3-.7-.3-.7h-4.1z"/><path class="st0" d="M67 5.8c-.5.4-1.2.6-1.8.6H62c-.6 0-1 .4-1 1v5.7c0 .6.4 1 1 1h4.2c.3.2.5.4.8.6l3.5 2.6c.4.3.8.1.8-.4V3.5c0-.5-.4-.7-.8-.4L67 5.8z"/><path class="st1" d="M73.9 2.5s3.9-.8 3.9 7.7-3.9 7.8-3.9 7.8"/><path class="st1" d="M72.6 6.4s2.6-.4 2.6 3.8-2.6 3.9-2.6 3.9"/><path class="st0" d="M47 5.8c-.5.4-1.2.6-1.8.6H42c-.6 0-1 .4-1 1v5.7c0 .6.4 1 1 1h4.2c.3.2.5.4.8.6l3.5 2.6c.4.3.8.1.8-.4V3.5c0-.5-.4-.7-.8-.4L47 5.8z"/><path class="st2" d="M52.8 7l5.4 5.4m-5.4 0L58.2 7"/><path class="st3" d="M128.7 8.6c-6.2-4.2-6.5 7.8 0 3.9m6.5-3.9c-6.2-4.2-6.5 7.8 0 3.9"/><path class="st0" d="M122.2 3.4h15.7v13.1h-15.7V3.4zM120.8 2v15.7h18.3V2h-18.3z"/><path class="st0" d="M143.2 3h14c1.1 0 2 .9 2 2v10c0 1.1-.9 2-2 2h-14c-1.1 0-2-.9-2-2V5c0-1.1.9-2 2-2z"/><path class="st4" d="M146.4 13.8c-.8 0-1.6-.4-2.1-1-1.1-1.4-1-3.4.1-4.8.5-.6 2-1.7 4.6.2l-.6.8c-1.4-1-2.6-1.1-3.3-.3-.8 1-.8 2.4-.1 3.5.7.9 1.9.8 3.4-.1l.5.9c-.7.5-1.6.7-2.5.8zm7.5 0c-.8 0-1.6-.4-2.1-1-1.1-1.4-1-3.4.1-4.8.5-.6 2-1.7 4.6.2l-.5.8c-1.4-1-2.6-1.1-3.3-.3-.8 1-.8 2.4-.1 3.5.7.9 1.9.8 3.4-.1l.5.9c-.8.5-1.7.7-2.6.8z"/><path class="st0" d="M60.3 77c.6.2.8.8.6 1.4-.1.3-.3.5-.6.6L30 96.5c-1 .6-1.7.1-1.7-1v-35c0-1.1.8-1.5 1.7-1L60.3 77z"/><path class="st5" d="M2.5 79c0-20.7 16.8-37.5 37.5-37.5S77.5 58.3 77.5 79 60.7 116.5 40 116.5 2.5 99.7 2.5 79z"/><path class="st0" d="M140.3 77c.6.2.8.8.6 1.4-.1.3-.3.5-.6.6L110 96.5c-1 .6-1.7.1-1.7-1v-35c0-1.1.8-1.5 1.7-1L140.3 77z"/><path class="st6" d="M82.5 79c0-20.7 16.8-37.5 37.5-37.5s37.5 16.8 37.5 37.5-16.8 37.5-37.5 37.5S82.5 99.7 82.5 79z"/><circle class="st0" cx="201.9" cy="47.1" r="8.1"/><circle class="st7" cx="233.9" cy="79" r="5"/><circle class="st8" cx="201.9" cy="110.9" r="6"/><circle class="st9" cx="170.1" cy="79" r="7"/><circle class="st10" cx="178.2" cy="56.3" r="7.5"/><circle class="st11" cx="226.3" cy="56.1" r="4.5"/><circle class="st12" cx="225.8" cy="102.8" r="5.5"/><circle class="st13" cx="178.2" cy="102.8" r="6.5"/><path class="st0" d="M178 9.4c0 .4-.4.7-.9.7-.1 0-.2 0-.2-.1L172 8.2c-.5-.2-.6-.6-.1-.8l6.2-3.6c.5-.3.8-.1.7.5l-.8 5.1z"/><path class="st0" d="M169.4 15.9c-1 0-2-.2-2.9-.7-2-1-3.2-3-3.2-5.2.1-3.4 2.9-6 6.3-6 2.5.1 4.8 1.7 5.6 4.1l.1-.1 2.1 1.1c-.6-4.4-4.7-7.5-9.1-6.9-3.9.6-6.9 3.9-7 7.9 0 2.9 1.7 5.6 4.3 7 1.2.6 2.5.9 3.8 1 2.6 0 5-1.2 6.6-3.3l-1.8-.9c-1.2 1.2-3 2-4.8 2z"/><path class="st0" d="M183.4 3.2c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5c0-.9.7-1.5 1.5-1.5zm5.1 0h8.5c.9 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5h-8.5c-.9 0-1.5-.7-1.5-1.5-.1-.9.6-1.5 1.5-1.5zm-5.1 5c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5c0-.9.7-1.5 1.5-1.5zm5.1 0h8.5c.9 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5h-8.5c-.9 0-1.5-.7-1.5-1.5-.1-.9.6-1.5 1.5-1.5zm-5.1 5c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5c0-.9.7-1.5 1.5-1.5zm5.1 0h8.5c.9 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5h-8.5c-.9 0-1.5-.7-1.5-1.5-.1-.9.6-1.5 1.5-1.5z"/></svg>
|
||||
|
After Width: | Height: | Size: 4.5 KiB |
415
plugins/mediaelement/4.2.8/renderers/dailymotion.js
Normal file
415
plugins/mediaelement/4.2.8/renderers/dailymotion.js
Normal file
@@ -0,0 +1,415 @@
|
||||
/*!
|
||||
* MediaElement.js
|
||||
* http://www.mediaelementjs.com/
|
||||
*
|
||||
* Wrapper that mimics native HTML5 MediaElement (audio and video)
|
||||
* using a variety of technologies (pure JavaScript, Flash, iframe)
|
||||
*
|
||||
* Copyright 2010-2017, John Dyer (http://j.hn/)
|
||||
* License: MIT
|
||||
*
|
||||
*/(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){
|
||||
'use strict';
|
||||
|
||||
var DailyMotionApi = {
|
||||
isSDKStarted: false,
|
||||
|
||||
isSDKLoaded: false,
|
||||
|
||||
iframeQueue: [],
|
||||
|
||||
enqueueIframe: function enqueueIframe(settings) {
|
||||
|
||||
if (DailyMotionApi.isLoaded) {
|
||||
DailyMotionApi.createIframe(settings);
|
||||
} else {
|
||||
DailyMotionApi.loadIframeApi();
|
||||
DailyMotionApi.iframeQueue.push(settings);
|
||||
}
|
||||
},
|
||||
|
||||
loadIframeApi: function loadIframeApi() {
|
||||
if (!DailyMotionApi.isSDKStarted) {
|
||||
mejs.Utils.loadScript('https://api.dmcdn.net/all.js');
|
||||
DailyMotionApi.isSDKStarted = true;
|
||||
}
|
||||
},
|
||||
|
||||
apiReady: function apiReady() {
|
||||
|
||||
DailyMotionApi.isLoaded = true;
|
||||
DailyMotionApi.isSDKLoaded = true;
|
||||
|
||||
while (DailyMotionApi.iframeQueue.length > 0) {
|
||||
var settings = DailyMotionApi.iframeQueue.pop();
|
||||
|
||||
DM.init({
|
||||
apiKey: settings.apiKey,
|
||||
status: settings.status,
|
||||
cookie: settings.cookie
|
||||
});
|
||||
|
||||
DailyMotionApi.createIframe(settings);
|
||||
}
|
||||
},
|
||||
|
||||
createIframe: function createIframe(settings) {
|
||||
|
||||
var player = DM.player(settings.container, {
|
||||
height: settings.height || '100%',
|
||||
width: settings.width || '100%',
|
||||
video: settings.videoId,
|
||||
params: Object.assign({ api: true }, settings.params),
|
||||
origin: location.host
|
||||
});
|
||||
|
||||
player.addEventListener('apiready', function () {
|
||||
window['__ready__' + settings.id](player, { paused: true, ended: false });
|
||||
});
|
||||
},
|
||||
|
||||
getDailyMotionId: function getDailyMotionId(url) {
|
||||
var parts = url.split('/'),
|
||||
lastPart = parts[parts.length - 1],
|
||||
dashParts = lastPart.split('_');
|
||||
|
||||
return dashParts[0];
|
||||
}
|
||||
};
|
||||
|
||||
var DailyMotionIframeRenderer = {
|
||||
name: 'dailymotion_iframe',
|
||||
options: {
|
||||
prefix: 'dailymotion_iframe',
|
||||
dailymotion: {
|
||||
width: '100%',
|
||||
height: '100%',
|
||||
params: {
|
||||
autoplay: false,
|
||||
chromeless: 1,
|
||||
info: 0,
|
||||
logo: 0,
|
||||
related: 0
|
||||
},
|
||||
apiKey: null,
|
||||
status: true,
|
||||
cookie: true
|
||||
}
|
||||
},
|
||||
|
||||
canPlayType: function canPlayType(type) {
|
||||
return ~['video/dailymotion', 'video/x-dailymotion'].indexOf(type.toLowerCase());
|
||||
},
|
||||
|
||||
create: function create(mediaElement, options, mediaFiles) {
|
||||
|
||||
var dm = {},
|
||||
apiStack = [],
|
||||
readyState = 4;
|
||||
|
||||
var events = void 0,
|
||||
dmPlayer = null,
|
||||
dmIframe = null,
|
||||
muted = mediaElement.originalNode.muted;
|
||||
|
||||
dm.options = options;
|
||||
dm.id = mediaElement.id + '_' + options.prefix;
|
||||
dm.mediaElement = mediaElement;
|
||||
|
||||
var props = mejs.html5media.properties,
|
||||
assignGettersSetters = function assignGettersSetters(propName) {
|
||||
|
||||
var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
|
||||
|
||||
dm['get' + capName] = function () {
|
||||
if (dmPlayer !== null) {
|
||||
var value = null;
|
||||
|
||||
switch (propName) {
|
||||
case 'currentTime':
|
||||
return dmPlayer.currentTime;
|
||||
case 'duration':
|
||||
return isNaN(dmPlayer.duration) ? 0 : dmPlayer.duration;
|
||||
case 'volume':
|
||||
return dmPlayer.volume;
|
||||
case 'paused':
|
||||
return dmPlayer.paused;
|
||||
case 'ended':
|
||||
return dmPlayer.ended;
|
||||
case 'muted':
|
||||
muted = dmPlayer.muted;
|
||||
return muted;
|
||||
case 'buffered':
|
||||
var percentLoaded = dmPlayer.bufferedTime,
|
||||
duration = dmPlayer.duration;
|
||||
return {
|
||||
start: function start() {
|
||||
return 0;
|
||||
},
|
||||
end: function end() {
|
||||
return percentLoaded / duration;
|
||||
},
|
||||
length: 1
|
||||
};
|
||||
case 'src':
|
||||
return mediaElement.originalNode.getAttribute('src');
|
||||
case 'readyState':
|
||||
return readyState;
|
||||
}
|
||||
|
||||
return value;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
dm['set' + capName] = function (value) {
|
||||
if (dmPlayer !== null) {
|
||||
switch (propName) {
|
||||
case 'src':
|
||||
var url = typeof value === 'string' ? value : value[0].src;
|
||||
dmPlayer.load(DailyMotionApi.getDailyMotionId(url));
|
||||
break;
|
||||
case 'currentTime':
|
||||
dmPlayer.seek(value);
|
||||
break;
|
||||
case 'muted':
|
||||
if (value === true) {
|
||||
dmPlayer.setVolume(0);
|
||||
}
|
||||
dmPlayer.setMuted(value);
|
||||
muted = value;
|
||||
setTimeout(function () {
|
||||
var event = mejs.Utils.createEvent('volumechange', dm);
|
||||
mediaElement.dispatchEvent(event);
|
||||
}, 50);
|
||||
break;
|
||||
case 'volume':
|
||||
dmPlayer.setVolume(value);
|
||||
if (value === 0 && !dmPlayer.muted) {
|
||||
dmPlayer.setMuted(true);
|
||||
muted = true;
|
||||
} else if (value > 0 && dmPlayer.muted) {
|
||||
dmPlayer.setMuted(false);
|
||||
muted = false;
|
||||
}
|
||||
|
||||
setTimeout(function () {
|
||||
var event = mejs.Utils.createEvent('volumechange', dm);
|
||||
mediaElement.dispatchEvent(event);
|
||||
}, 50);
|
||||
break;
|
||||
case 'readyState':
|
||||
var event = mejs.Utils.createEvent('canplay', dm);
|
||||
mediaElement.dispatchEvent(event);
|
||||
break;
|
||||
default:
|
||||
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
apiStack.push({ type: 'set', propName: propName, value: value });
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
for (var i = 0, total = props.length; i < total; i++) {
|
||||
assignGettersSetters(props[i]);
|
||||
}
|
||||
|
||||
var methods = mejs.html5media.methods,
|
||||
assignMethods = function assignMethods(methodName) {
|
||||
dm[methodName] = function () {
|
||||
if (dmPlayer !== null) {
|
||||
switch (methodName) {
|
||||
case 'play':
|
||||
return dmPlayer.play();
|
||||
case 'pause':
|
||||
return dmPlayer.pause();
|
||||
case 'load':
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
apiStack.push({ type: 'call', methodName: methodName });
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
for (var _i = 0, _total = methods.length; _i < _total; _i++) {
|
||||
assignMethods(methods[_i]);
|
||||
}
|
||||
|
||||
window['__ready__' + dm.id] = function (_dmPlayer) {
|
||||
|
||||
mediaElement.dmPlayer = dmPlayer = _dmPlayer;
|
||||
|
||||
if (apiStack.length) {
|
||||
for (var _i2 = 0, _total2 = apiStack.length; _i2 < _total2; _i2++) {
|
||||
|
||||
var stackItem = apiStack[_i2];
|
||||
|
||||
if (stackItem.type === 'set') {
|
||||
var propName = stackItem.propName,
|
||||
capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
|
||||
|
||||
dm['set' + capName](stackItem.value);
|
||||
} else if (stackItem.type === 'call') {
|
||||
dm[stackItem.methodName]();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dmIframe = document.getElementById(dm.id);
|
||||
|
||||
events = ['mouseover', 'mouseout'];
|
||||
var assignEvents = function assignEvents(e) {
|
||||
var event = mejs.Utils.createEvent(e.type, dm);
|
||||
mediaElement.dispatchEvent(event);
|
||||
};
|
||||
|
||||
for (var _i3 = 0, _total3 = events.length; _i3 < _total3; _i3++) {
|
||||
dmIframe.addEventListener(events[_i3], assignEvents, false);
|
||||
}
|
||||
|
||||
if (mediaElement.originalNode.muted) {
|
||||
dmPlayer.setVolume(0);
|
||||
dmPlayer.setMuted(true);
|
||||
} else {
|
||||
dmPlayer.setVolume(dmPlayer.volume);
|
||||
dmPlayer.setMuted(false);
|
||||
}
|
||||
|
||||
events = mejs.html5media.events;
|
||||
events = events.concat(['click', 'mouseover', 'mouseout']);
|
||||
var assignNativeEvents = function assignNativeEvents(eventName) {
|
||||
if (eventName !== 'ended') {
|
||||
dmPlayer.addEventListener(eventName, function (e) {
|
||||
var event = mejs.Utils.createEvent(e.type, dm);
|
||||
mediaElement.dispatchEvent(event);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
for (var _i4 = 0, _total4 = events.length; _i4 < _total4; _i4++) {
|
||||
assignNativeEvents(events[_i4]);
|
||||
}
|
||||
|
||||
dmPlayer.addEventListener('ad_start', function () {
|
||||
var event = mejs.Utils.createEvent('play', dm);
|
||||
mediaElement.dispatchEvent(event);
|
||||
|
||||
event = mejs.Utils.createEvent('progress', dm);
|
||||
mediaElement.dispatchEvent(event);
|
||||
|
||||
event = mejs.Utils.createEvent('timeupdate', dm);
|
||||
mediaElement.dispatchEvent(event);
|
||||
});
|
||||
dmPlayer.addEventListener('ad_timeupdate', function () {
|
||||
var event = mejs.Utils.createEvent('timeupdate', dm);
|
||||
mediaElement.dispatchEvent(event);
|
||||
});
|
||||
dmPlayer.addEventListener('ad_pause', function () {
|
||||
var event = mejs.Utils.createEvent('pause', dm);
|
||||
mediaElement.dispatchEvent(event);
|
||||
});
|
||||
dmPlayer.addEventListener('start', function () {
|
||||
if (dmPlayer.muted) {
|
||||
var event = mejs.Utils.createEvent('volumechange', dm);
|
||||
mediaElement.dispatchEvent(event);
|
||||
}
|
||||
});
|
||||
dmPlayer.addEventListener('video_start', function () {
|
||||
var event = mejs.Utils.createEvent('play', dm);
|
||||
mediaElement.dispatchEvent(event);
|
||||
|
||||
var playingEvent = mejs.Utils.createEvent('playing', dm);
|
||||
mediaElement.dispatchEvent(playingEvent);
|
||||
});
|
||||
dmPlayer.addEventListener('ad_timeupdate', function () {
|
||||
var event = mejs.Utils.createEvent('timeupdate', dm);
|
||||
mediaElement.dispatchEvent(event);
|
||||
});
|
||||
dmPlayer.addEventListener('video_end', function () {
|
||||
var event = mejs.Utils.createEvent('ended', dm);
|
||||
mediaElement.dispatchEvent(event);
|
||||
|
||||
if (mediaElement.originalNode.getAttribute('loop')) {
|
||||
dmPlayer.play();
|
||||
}
|
||||
});
|
||||
|
||||
var initEvents = ['rendererready', 'loadedmetadata', 'loadeddata', 'canplay'];
|
||||
|
||||
for (var _i5 = 0, _total5 = initEvents.length; _i5 < _total5; _i5++) {
|
||||
var event = mejs.Utils.createEvent(initEvents[_i5], dm);
|
||||
mediaElement.dispatchEvent(event);
|
||||
}
|
||||
};
|
||||
|
||||
var dmContainer = document.createElement('div');
|
||||
dmContainer.id = dm.id;
|
||||
mediaElement.appendChild(dmContainer);
|
||||
if (mediaElement.originalNode) {
|
||||
dmContainer.style.width = mediaElement.originalNode.style.width;
|
||||
dmContainer.style.height = mediaElement.originalNode.style.height;
|
||||
}
|
||||
mediaElement.originalNode.style.display = 'none';
|
||||
|
||||
var videoId = DailyMotionApi.getDailyMotionId(mediaFiles[0].src),
|
||||
dmSettings = {
|
||||
id: dm.id,
|
||||
container: dmContainer,
|
||||
videoId: videoId
|
||||
};
|
||||
|
||||
dmSettings.params = Object.assign({}, dm.options.dailymotion);
|
||||
|
||||
dmSettings.params.controls = !!mediaElement.originalNode.controls;
|
||||
|
||||
if (mediaElement.originalNode.autoplay) {
|
||||
dmSettings.params.autoplay = true;
|
||||
}
|
||||
if (mediaElement.originalNode.muted) {
|
||||
dmSettings.params.mute = true;
|
||||
}
|
||||
dmSettings.params.api = '1';
|
||||
|
||||
DailyMotionApi.enqueueIframe(dmSettings);
|
||||
|
||||
dm.hide = function () {
|
||||
dm.pause();
|
||||
if (dmIframe) {
|
||||
dmIframe.style.display = 'none';
|
||||
}
|
||||
};
|
||||
dm.show = function () {
|
||||
if (dmIframe) {
|
||||
dmIframe.style.display = '';
|
||||
}
|
||||
};
|
||||
dm.setSize = function (width, height) {
|
||||
if (dmIframe) {
|
||||
dmIframe.width = width;
|
||||
dmIframe.height = height;
|
||||
}
|
||||
};
|
||||
dm.destroy = function () {
|
||||
dmPlayer.destroy();
|
||||
};
|
||||
|
||||
return dm;
|
||||
}
|
||||
};
|
||||
|
||||
mejs.Utils.typeChecks.push(function (url) {
|
||||
return (/\/\/((www\.)?dailymotion\.com|dai\.ly)/i.test(url) ? 'video/x-dailymotion' : null
|
||||
);
|
||||
});
|
||||
|
||||
window.dmAsyncInit = function () {
|
||||
DailyMotionApi.apiReady();
|
||||
};
|
||||
|
||||
mejs.Renderers.add(DailyMotionIframeRenderer);
|
||||
|
||||
},{}]},{},[1]);
|
||||
12
plugins/mediaelement/4.2.8/renderers/dailymotion.min.js
vendored
Normal file
12
plugins/mediaelement/4.2.8/renderers/dailymotion.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
361
plugins/mediaelement/4.2.8/renderers/facebook.js
Normal file
361
plugins/mediaelement/4.2.8/renderers/facebook.js
Normal file
@@ -0,0 +1,361 @@
|
||||
/*!
|
||||
* MediaElement.js
|
||||
* http://www.mediaelementjs.com/
|
||||
*
|
||||
* Wrapper that mimics native HTML5 MediaElement (audio and video)
|
||||
* using a variety of technologies (pure JavaScript, Flash, iframe)
|
||||
*
|
||||
* Copyright 2010-2017, John Dyer (http://j.hn/)
|
||||
* License: MIT
|
||||
*
|
||||
*/(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){
|
||||
'use strict';
|
||||
|
||||
var FacebookApi = {
|
||||
|
||||
promise: null,
|
||||
|
||||
load: function load(settings) {
|
||||
|
||||
if (typeof FB !== 'undefined') {
|
||||
FacebookApi._createPlayer(settings);
|
||||
} else {
|
||||
FacebookApi.promise = FacebookApi.promise || mejs.Utils.loadScript('https://connect.facebook.net/' + settings.options.lang + '/sdk.js');
|
||||
FacebookApi.promise.then(function () {
|
||||
FB.init(settings.options);
|
||||
|
||||
setTimeout(function () {
|
||||
FacebookApi._createPlayer(settings);
|
||||
}, 50);
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
_createPlayer: function _createPlayer(settings) {
|
||||
window['__ready__' + settings.id]();
|
||||
}
|
||||
};
|
||||
var FacebookRenderer = {
|
||||
name: 'facebook',
|
||||
options: {
|
||||
prefix: 'facebook',
|
||||
facebook: {
|
||||
appId: '',
|
||||
xfbml: true,
|
||||
version: 'v2.10',
|
||||
lang: 'en_US'
|
||||
}
|
||||
},
|
||||
|
||||
canPlayType: function canPlayType(type) {
|
||||
return ~['video/facebook', 'video/x-facebook'].indexOf(type.toLowerCase());
|
||||
},
|
||||
|
||||
create: function create(mediaElement, options, mediaFiles) {
|
||||
var apiStack = [],
|
||||
fb = {},
|
||||
readyState = 4;
|
||||
|
||||
var hasStartedPlaying = false,
|
||||
paused = true,
|
||||
ended = false,
|
||||
fbPlayer = null,
|
||||
src = '',
|
||||
poster = '',
|
||||
autoplay = mediaElement.originalNode.autoplay;
|
||||
|
||||
fb.options = options;
|
||||
fb.id = mediaElement.id + '_' + options.prefix;
|
||||
fb.mediaElement = mediaElement;
|
||||
|
||||
if (mejs.Features.isiPhone && mediaElement.originalNode.getAttribute('poster')) {
|
||||
poster = mediaElement.originalNode.getAttribute('poster');
|
||||
mediaElement.originalNode.removeAttribute('poster');
|
||||
}
|
||||
|
||||
var props = mejs.html5media.properties,
|
||||
assignGettersSetters = function assignGettersSetters(propName) {
|
||||
|
||||
var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
|
||||
|
||||
fb['get' + capName] = function () {
|
||||
|
||||
if (fbPlayer !== null) {
|
||||
var value = null;
|
||||
|
||||
switch (propName) {
|
||||
case 'currentTime':
|
||||
return fbPlayer.getCurrentPosition();
|
||||
case 'duration':
|
||||
return fbPlayer.getDuration();
|
||||
case 'volume':
|
||||
return fbPlayer.getVolume();
|
||||
case 'paused':
|
||||
return paused;
|
||||
case 'ended':
|
||||
return ended;
|
||||
case 'muted':
|
||||
return fbPlayer.isMuted();
|
||||
case 'buffered':
|
||||
return {
|
||||
start: function start() {
|
||||
return 0;
|
||||
},
|
||||
end: function end() {
|
||||
return 0;
|
||||
},
|
||||
length: 1
|
||||
};
|
||||
case 'src':
|
||||
return src;
|
||||
case 'readyState':
|
||||
return readyState;
|
||||
}
|
||||
|
||||
return value;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
fb['set' + capName] = function (value) {
|
||||
|
||||
if (fbPlayer !== null) {
|
||||
|
||||
switch (propName) {
|
||||
case 'src':
|
||||
var url = typeof value === 'string' ? value : value[0].src;
|
||||
src = url;
|
||||
|
||||
fbContainer.remove();
|
||||
fbContainer = document.createElement('div');
|
||||
fbContainer.id = fb.id;
|
||||
fbContainer.className = 'fb-video';
|
||||
fbContainer.setAttribute('data-href', url);
|
||||
fbContainer.setAttribute('data-allowfullscreen', 'true');
|
||||
fbContainer.setAttribute('data-controls', 'false');
|
||||
|
||||
mediaElement.originalNode.parentNode.insertBefore(fbContainer, mediaElement.originalNode);
|
||||
mediaElement.originalNode.style.display = 'none';
|
||||
|
||||
FacebookApi.load({
|
||||
lang: fb.options.lang,
|
||||
id: fb.id
|
||||
});
|
||||
|
||||
FB.XFBML.parse();
|
||||
|
||||
if (autoplay) {
|
||||
fbPlayer.play();
|
||||
}
|
||||
break;
|
||||
case 'currentTime':
|
||||
fbPlayer.seek(value);
|
||||
break;
|
||||
case 'muted':
|
||||
if (value) {
|
||||
fbPlayer.mute();
|
||||
} else {
|
||||
fbPlayer.unmute();
|
||||
}
|
||||
setTimeout(function () {
|
||||
var event = mejs.Utils.createEvent('volumechange', fb);
|
||||
mediaElement.dispatchEvent(event);
|
||||
}, 50);
|
||||
break;
|
||||
case 'volume':
|
||||
fbPlayer.setVolume(value);
|
||||
setTimeout(function () {
|
||||
var event = mejs.Utils.createEvent('volumechange', fb);
|
||||
mediaElement.dispatchEvent(event);
|
||||
}, 50);
|
||||
break;
|
||||
case 'readyState':
|
||||
var event = mejs.Utils.createEvent('canplay', fb);
|
||||
mediaElement.dispatchEvent(event);
|
||||
break;
|
||||
default:
|
||||
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
apiStack.push({ type: 'set', propName: propName, value: value });
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
for (var i = 0, total = props.length; i < total; i++) {
|
||||
assignGettersSetters(props[i]);
|
||||
}
|
||||
|
||||
var methods = mejs.html5media.methods,
|
||||
assignMethods = function assignMethods(methodName) {
|
||||
fb[methodName] = function () {
|
||||
if (fbPlayer !== null) {
|
||||
switch (methodName) {
|
||||
case 'play':
|
||||
return fbPlayer.play();
|
||||
case 'pause':
|
||||
return fbPlayer.pause();
|
||||
case 'load':
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
apiStack.push({ type: 'call', methodName: methodName });
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
for (var _i = 0, _total = methods.length; _i < _total; _i++) {
|
||||
assignMethods(methods[_i]);
|
||||
}
|
||||
|
||||
function assignEvents(events) {
|
||||
for (var _i2 = 0, _total2 = events.length; _i2 < _total2; _i2++) {
|
||||
var event = mejs.Utils.createEvent(events[_i2], fb);
|
||||
mediaElement.dispatchEvent(event);
|
||||
}
|
||||
}
|
||||
|
||||
window['__ready__' + fb.id] = function () {
|
||||
FB.Event.subscribe('xfbml.ready', function (msg) {
|
||||
if (msg.type === 'video' && fb.id === msg.id) {
|
||||
mediaElement.fbPlayer = fbPlayer = msg.instance;
|
||||
|
||||
var fbIframe = document.getElementById(fb.id),
|
||||
width = fbIframe.offsetWidth,
|
||||
height = fbIframe.offsetHeight,
|
||||
events = ['mouseover', 'mouseout'],
|
||||
assignIframeEvents = function assignIframeEvents(e) {
|
||||
var event = mejs.Utils.createEvent(e.type, fb);
|
||||
mediaElement.dispatchEvent(event);
|
||||
};
|
||||
|
||||
fb.setSize(width, height);
|
||||
if (!mediaElement.originalNode.muted) {
|
||||
fbPlayer.unmute();
|
||||
}
|
||||
|
||||
if (autoplay) {
|
||||
fbPlayer.play();
|
||||
}
|
||||
|
||||
for (var _i3 = 0, _total3 = events.length; _i3 < _total3; _i3++) {
|
||||
fbIframe.addEventListener(events[_i3], assignIframeEvents);
|
||||
}
|
||||
|
||||
fb.eventHandler = {};
|
||||
|
||||
var fbEvents = ['startedPlaying', 'paused', 'finishedPlaying', 'startedBuffering', 'finishedBuffering'];
|
||||
for (var _i4 = 0, _total4 = fbEvents.length; _i4 < _total4; _i4++) {
|
||||
var event = fbEvents[_i4],
|
||||
handler = fb.eventHandler[event];
|
||||
if (handler !== undefined && handler !== null && !mejs.Utils.isObjectEmpty(handler) && typeof handler.removeListener === 'function') {
|
||||
handler.removeListener(event);
|
||||
}
|
||||
}
|
||||
|
||||
if (apiStack.length) {
|
||||
for (var _i5 = 0, _total5 = apiStack.length; _i5 < _total5; _i5++) {
|
||||
var stackItem = apiStack[_i5];
|
||||
|
||||
if (stackItem.type === 'set') {
|
||||
var propName = stackItem.propName,
|
||||
capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
|
||||
|
||||
fb['set' + capName](stackItem.value);
|
||||
} else if (stackItem.type === 'call') {
|
||||
fb[stackItem.methodName]();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
assignEvents(['rendererready', 'loadeddata', 'canplay', 'progress', 'loadedmetadata', 'timeupdate']);
|
||||
|
||||
var timer = void 0;
|
||||
|
||||
fb.eventHandler.startedPlaying = fbPlayer.subscribe('startedPlaying', function () {
|
||||
if (!hasStartedPlaying) {
|
||||
hasStartedPlaying = true;
|
||||
}
|
||||
paused = false;
|
||||
ended = false;
|
||||
assignEvents(['play', 'playing', 'timeupdate']);
|
||||
|
||||
timer = setInterval(function () {
|
||||
fbPlayer.getCurrentPosition();
|
||||
assignEvents(['timeupdate']);
|
||||
}, 250);
|
||||
});
|
||||
fb.eventHandler.paused = fbPlayer.subscribe('paused', function () {
|
||||
paused = true;
|
||||
ended = false;
|
||||
assignEvents(['pause']);
|
||||
});
|
||||
fb.eventHandler.finishedPlaying = fbPlayer.subscribe('finishedPlaying', function () {
|
||||
paused = true;
|
||||
ended = true;
|
||||
|
||||
assignEvents(['ended']);
|
||||
clearInterval(timer);
|
||||
timer = null;
|
||||
});
|
||||
fb.eventHandler.startedBuffering = fbPlayer.subscribe('startedBuffering', function () {
|
||||
assignEvents(['progress', 'timeupdate']);
|
||||
});
|
||||
fb.eventHandler.finishedBuffering = fbPlayer.subscribe('finishedBuffering', function () {
|
||||
assignEvents(['progress', 'timeupdate']);
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
src = mediaFiles[0].src;
|
||||
var fbContainer = document.createElement('div');
|
||||
fbContainer.id = fb.id;
|
||||
fbContainer.className = 'fb-video';
|
||||
fbContainer.setAttribute('data-href', src);
|
||||
fbContainer.setAttribute('data-allowfullscreen', true);
|
||||
fbContainer.setAttribute('data-controls', !!mediaElement.originalNode.controls);
|
||||
mediaElement.originalNode.parentNode.insertBefore(fbContainer, mediaElement.originalNode);
|
||||
mediaElement.originalNode.style.display = 'none';
|
||||
|
||||
FacebookApi.load({
|
||||
options: fb.options.facebook,
|
||||
id: fb.id
|
||||
});
|
||||
|
||||
fb.hide = function () {
|
||||
fb.pause();
|
||||
if (fbPlayer) {
|
||||
fbContainer.style.display = 'none';
|
||||
}
|
||||
};
|
||||
fb.setSize = function (width) {
|
||||
if (fbPlayer !== null && !isNaN(width)) {
|
||||
fbContainer.style.width = width;
|
||||
}
|
||||
};
|
||||
fb.show = function () {
|
||||
if (fbPlayer) {
|
||||
fbContainer.style.display = '';
|
||||
}
|
||||
};
|
||||
|
||||
fb.destroy = function () {
|
||||
if (poster) {
|
||||
mediaElement.originalNode.setAttribute('poster', poster);
|
||||
}
|
||||
};
|
||||
|
||||
return fb;
|
||||
}
|
||||
};
|
||||
|
||||
mejs.Utils.typeChecks.push(function (url) {
|
||||
return ~url.toLowerCase().indexOf('//www.facebook') ? 'video/x-facebook' : null;
|
||||
});
|
||||
|
||||
mejs.Renderers.add(FacebookRenderer);
|
||||
|
||||
},{}]},{},[1]);
|
||||
12
plugins/mediaelement/4.2.8/renderers/facebook.min.js
vendored
Normal file
12
plugins/mediaelement/4.2.8/renderers/facebook.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
307
plugins/mediaelement/4.2.8/renderers/soundcloud.js
Normal file
307
plugins/mediaelement/4.2.8/renderers/soundcloud.js
Normal file
@@ -0,0 +1,307 @@
|
||||
/*!
|
||||
* MediaElement.js
|
||||
* http://www.mediaelementjs.com/
|
||||
*
|
||||
* Wrapper that mimics native HTML5 MediaElement (audio and video)
|
||||
* using a variety of technologies (pure JavaScript, Flash, iframe)
|
||||
*
|
||||
* Copyright 2010-2017, John Dyer (http://j.hn/)
|
||||
* License: MIT
|
||||
*
|
||||
*/(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){
|
||||
'use strict';
|
||||
|
||||
var SoundCloudApi = {
|
||||
|
||||
promise: null,
|
||||
|
||||
load: function load(settings) {
|
||||
|
||||
if (typeof SC !== 'undefined') {
|
||||
SoundCloudApi._createPlayer(settings);
|
||||
} else {
|
||||
SoundCloudApi.promise = SoundCloudApi.promise || mejs.Utils.loadScript('https://w.soundcloud.com/player/api.js');
|
||||
SoundCloudApi.promise.then(function () {
|
||||
SoundCloudApi._createPlayer(settings);
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
_createPlayer: function _createPlayer(settings) {
|
||||
var player = SC.Widget(settings.iframe);
|
||||
window['__ready__' + settings.id](player);
|
||||
}
|
||||
};
|
||||
|
||||
var SoundCloudIframeRenderer = {
|
||||
name: 'soundcloud_iframe',
|
||||
options: {
|
||||
prefix: 'soundcloud_iframe'
|
||||
},
|
||||
|
||||
canPlayType: function canPlayType(type) {
|
||||
return ~['video/soundcloud', 'video/x-soundcloud'].indexOf(type.toLowerCase());
|
||||
},
|
||||
|
||||
create: function create(mediaElement, options, mediaFiles) {
|
||||
var sc = {},
|
||||
apiStack = [],
|
||||
readyState = 4,
|
||||
autoplay = mediaElement.originalNode.autoplay,
|
||||
isVideo = mediaElement.originalNode !== null && mediaElement.originalNode.tagName.toLowerCase() === 'video';
|
||||
|
||||
var duration = 0,
|
||||
currentTime = 0,
|
||||
bufferedTime = 0,
|
||||
volume = 1,
|
||||
muted = false,
|
||||
paused = true,
|
||||
ended = false,
|
||||
scPlayer = null,
|
||||
scIframe = null;
|
||||
|
||||
sc.options = options;
|
||||
sc.id = mediaElement.id + '_' + options.prefix;
|
||||
sc.mediaElement = mediaElement;
|
||||
|
||||
var props = mejs.html5media.properties,
|
||||
assignGettersSetters = function assignGettersSetters(propName) {
|
||||
var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
|
||||
|
||||
sc['get' + capName] = function () {
|
||||
if (scPlayer !== null) {
|
||||
var value = null;
|
||||
|
||||
switch (propName) {
|
||||
case 'currentTime':
|
||||
return currentTime;
|
||||
case 'duration':
|
||||
return duration;
|
||||
case 'volume':
|
||||
return volume;
|
||||
case 'paused':
|
||||
return paused;
|
||||
case 'ended':
|
||||
return ended;
|
||||
case 'muted':
|
||||
return muted;
|
||||
case 'buffered':
|
||||
return {
|
||||
start: function start() {
|
||||
return 0;
|
||||
},
|
||||
end: function end() {
|
||||
return bufferedTime * duration;
|
||||
},
|
||||
length: 1
|
||||
};
|
||||
case 'src':
|
||||
return scIframe ? scIframe.src : '';
|
||||
case 'readyState':
|
||||
return readyState;
|
||||
}
|
||||
return value;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
sc['set' + capName] = function (value) {
|
||||
if (scPlayer !== null) {
|
||||
switch (propName) {
|
||||
case 'src':
|
||||
var url = typeof value === 'string' ? value : value[0].src;
|
||||
scPlayer.load(url);
|
||||
if (autoplay) {
|
||||
scPlayer.play();
|
||||
}
|
||||
break;
|
||||
case 'currentTime':
|
||||
scPlayer.seekTo(value * 1000);
|
||||
break;
|
||||
case 'muted':
|
||||
if (value) {
|
||||
scPlayer.setVolume(0);
|
||||
} else {
|
||||
scPlayer.setVolume(1);
|
||||
}
|
||||
setTimeout(function () {
|
||||
var event = mejs.Utils.createEvent('volumechange', sc);
|
||||
mediaElement.dispatchEvent(event);
|
||||
}, 50);
|
||||
break;
|
||||
case 'volume':
|
||||
scPlayer.setVolume(value);
|
||||
setTimeout(function () {
|
||||
var event = mejs.Utils.createEvent('volumechange', sc);
|
||||
mediaElement.dispatchEvent(event);
|
||||
}, 50);
|
||||
break;
|
||||
case 'readyState':
|
||||
var event = mejs.Utils.createEvent('canplay', sc);
|
||||
mediaElement.dispatchEvent(event);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
apiStack.push({ type: 'set', propName: propName, value: value });
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
for (var i = 0, total = props.length; i < total; i++) {
|
||||
assignGettersSetters(props[i]);
|
||||
}
|
||||
|
||||
var methods = mejs.html5media.methods,
|
||||
assignMethods = function assignMethods(methodName) {
|
||||
sc[methodName] = function () {
|
||||
if (scPlayer !== null) {
|
||||
switch (methodName) {
|
||||
case 'play':
|
||||
return scPlayer.play();
|
||||
case 'pause':
|
||||
return scPlayer.pause();
|
||||
case 'load':
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
apiStack.push({ type: 'call', methodName: methodName });
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
for (var _i = 0, _total = methods.length; _i < _total; _i++) {
|
||||
assignMethods(methods[_i]);
|
||||
}
|
||||
|
||||
window['__ready__' + sc.id] = function (_scPlayer) {
|
||||
|
||||
mediaElement.scPlayer = scPlayer = _scPlayer;
|
||||
|
||||
if (autoplay) {
|
||||
scPlayer.play();
|
||||
}
|
||||
|
||||
if (apiStack.length) {
|
||||
for (var _i2 = 0, _total2 = apiStack.length; _i2 < _total2; _i2++) {
|
||||
|
||||
var stackItem = apiStack[_i2];
|
||||
|
||||
if (stackItem.type === 'set') {
|
||||
var propName = stackItem.propName,
|
||||
capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
|
||||
|
||||
sc['set' + capName](stackItem.value);
|
||||
} else if (stackItem.type === 'call') {
|
||||
sc[stackItem.methodName]();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
scPlayer.bind(SC.Widget.Events.PLAY_PROGRESS, function () {
|
||||
paused = false;
|
||||
ended = false;
|
||||
scPlayer.getPosition(function (_currentTime) {
|
||||
currentTime = _currentTime / 1000;
|
||||
var event = mejs.Utils.createEvent('timeupdate', sc);
|
||||
mediaElement.dispatchEvent(event);
|
||||
});
|
||||
});
|
||||
scPlayer.bind(SC.Widget.Events.PAUSE, function () {
|
||||
paused = true;
|
||||
var event = mejs.Utils.createEvent('pause', sc);
|
||||
mediaElement.dispatchEvent(event);
|
||||
});
|
||||
scPlayer.bind(SC.Widget.Events.PLAY, function () {
|
||||
paused = false;
|
||||
ended = false;
|
||||
var event = mejs.Utils.createEvent('play', sc);
|
||||
mediaElement.dispatchEvent(event);
|
||||
});
|
||||
scPlayer.bind(SC.Widget.Events.FINISHED, function () {
|
||||
paused = false;
|
||||
ended = true;
|
||||
var event = mejs.Utils.createEvent('ended', sc);
|
||||
mediaElement.dispatchEvent(event);
|
||||
});
|
||||
scPlayer.bind(SC.Widget.Events.READY, function () {
|
||||
scPlayer.getDuration(function (_duration) {
|
||||
duration = _duration / 1000;
|
||||
var event = mejs.Utils.createEvent('loadedmetadata', sc);
|
||||
mediaElement.dispatchEvent(event);
|
||||
});
|
||||
});
|
||||
scPlayer.bind(SC.Widget.Events.LOAD_PROGRESS, function () {
|
||||
scPlayer.getDuration(function (loadProgress) {
|
||||
if (duration > 0) {
|
||||
bufferedTime = duration * loadProgress;
|
||||
var event = mejs.Utils.createEvent('progress', sc);
|
||||
mediaElement.dispatchEvent(event);
|
||||
}
|
||||
});
|
||||
scPlayer.getDuration(function (_duration) {
|
||||
duration = _duration;
|
||||
|
||||
var event = mejs.Utils.createEvent('loadedmetadata', sc);
|
||||
mediaElement.dispatchEvent(event);
|
||||
});
|
||||
});
|
||||
|
||||
var initEvents = ['rendererready', 'loadeddata', 'loadedmetadata', 'canplay'];
|
||||
for (var _i3 = 0, _total3 = initEvents.length; _i3 < _total3; _i3++) {
|
||||
var event = mejs.Utils.createEvent(initEvents[_i3], sc);
|
||||
mediaElement.dispatchEvent(event);
|
||||
}
|
||||
};
|
||||
|
||||
scIframe = document.createElement('iframe');
|
||||
scIframe.id = sc.id;
|
||||
scIframe.width = isVideo ? '100%' : 1;
|
||||
scIframe.height = isVideo ? '100%' : 1;
|
||||
scIframe.frameBorder = 0;
|
||||
scIframe.style.visibility = isVideo ? 'visible' : 'hidden';
|
||||
scIframe.src = mediaFiles[0].src;
|
||||
scIframe.scrolling = 'no';
|
||||
|
||||
mediaElement.appendChild(scIframe);
|
||||
mediaElement.originalNode.style.display = 'none';
|
||||
|
||||
var scSettings = {
|
||||
iframe: scIframe,
|
||||
id: sc.id
|
||||
};
|
||||
|
||||
SoundCloudApi.load(scSettings);
|
||||
|
||||
sc.setSize = function () {};
|
||||
sc.hide = function () {
|
||||
sc.pause();
|
||||
if (scIframe) {
|
||||
scIframe.style.display = 'none';
|
||||
}
|
||||
};
|
||||
sc.show = function () {
|
||||
if (scIframe) {
|
||||
scIframe.style.display = '';
|
||||
}
|
||||
};
|
||||
sc.destroy = function () {
|
||||
scPlayer.destroy();
|
||||
};
|
||||
|
||||
return sc;
|
||||
}
|
||||
};
|
||||
|
||||
mejs.Utils.typeChecks.push(function (url) {
|
||||
return (/\/\/(w\.)?soundcloud.com/i.test(url) ? 'video/x-soundcloud' : null
|
||||
);
|
||||
});
|
||||
|
||||
mejs.Renderers.add(SoundCloudIframeRenderer);
|
||||
|
||||
},{}]},{},[1]);
|
||||
12
plugins/mediaelement/4.2.8/renderers/soundcloud.min.js
vendored
Normal file
12
plugins/mediaelement/4.2.8/renderers/soundcloud.min.js
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
/*!
|
||||
* MediaElement.js
|
||||
* http://www.mediaelementjs.com/
|
||||
*
|
||||
* Wrapper that mimics native HTML5 MediaElement (audio and video)
|
||||
* using a variety of technologies (pure JavaScript, Flash, iframe)
|
||||
*
|
||||
* Copyright 2010-2017, John Dyer (http://j.hn/)
|
||||
* License: MIT
|
||||
*
|
||||
*/
|
||||
!function e(t,n,r){function a(s,o){if(!n[s]){if(!t[s]){var u="function"==typeof require&&require;if(!o&&u)return u(s,!0);if(i)return i(s,!0);var d=new Error("Cannot find module '"+s+"'");throw d.code="MODULE_NOT_FOUND",d}var c=n[s]={exports:{}};t[s][0].call(c.exports,function(e){var n=t[s][1][e];return a(n||e)},c,c.exports,e,t,n,r)}return n[s].exports}for(var i="function"==typeof require&&require,s=0;s<r.length;s++)a(r[s]);return a}({1:[function(e,t,n){"use strict";var r={promise:null,load:function(e){"undefined"!=typeof SC?r._createPlayer(e):(r.promise=r.promise||mejs.Utils.loadScript("https://w.soundcloud.com/player/api.js"),r.promise.then(function(){r._createPlayer(e)}))},_createPlayer:function(e){var t=SC.Widget(e.iframe);window["__ready__"+e.id](t)}},a={name:"soundcloud_iframe",options:{prefix:"soundcloud_iframe"},canPlayType:function(e){return~["video/soundcloud","video/x-soundcloud"].indexOf(e.toLowerCase())},create:function(e,t,n){var a={},i=[],s=e.originalNode.autoplay,o=null!==e.originalNode&&"video"===e.originalNode.tagName.toLowerCase(),u=0,d=0,c=0,l=!0,p=!1,f=null,v=null;a.options=t,a.id=e.id+"_"+t.prefix,a.mediaElement=e;for(var m=mejs.html5media.properties,h=function(t){var n=""+t.substring(0,1).toUpperCase()+t.substring(1);a["get"+n]=function(){if(null!==f){switch(t){case"currentTime":return d;case"duration":return u;case"volume":return 1;case"paused":return l;case"ended":return p;case"muted":return!1;case"buffered":return{start:function(){return 0},end:function(){return c*u},length:1};case"src":return v?v.src:"";case"readyState":return 4}return null}return null},a["set"+n]=function(n){if(null!==f)switch(t){case"src":var r="string"==typeof n?n:n[0].src;f.load(r),s&&f.play();break;case"currentTime":f.seekTo(1e3*n);break;case"muted":n?f.setVolume(0):f.setVolume(1),setTimeout(function(){var t=mejs.Utils.createEvent("volumechange",a);e.dispatchEvent(t)},50);break;case"volume":f.setVolume(n),setTimeout(function(){var t=mejs.Utils.createEvent("volumechange",a);e.dispatchEvent(t)},50);break;case"readyState":var o=mejs.Utils.createEvent("canplay",a);e.dispatchEvent(o)}else i.push({type:"set",propName:t,value:n})}},y=0,E=m.length;y<E;y++)h(m[y]);for(var g=mejs.html5media.methods,S=function(e){a[e]=function(){if(null!==f)switch(e){case"play":return f.play();case"pause":return f.pause();case"load":return null}else i.push({type:"call",methodName:e})}},U=0,_=g.length;U<_;U++)S(g[U]);window["__ready__"+a.id]=function(t){if(e.scPlayer=f=t,s&&f.play(),i.length)for(var n=0,r=i.length;n<r;n++){var o=i[n];if("set"===o.type){var v=o.propName,m=""+v.substring(0,1).toUpperCase()+v.substring(1);a["set"+m](o.value)}else"call"===o.type&&a[o.methodName]()}f.bind(SC.Widget.Events.PLAY_PROGRESS,function(){l=!1,p=!1,f.getPosition(function(t){d=t/1e3;var n=mejs.Utils.createEvent("timeupdate",a);e.dispatchEvent(n)})}),f.bind(SC.Widget.Events.PAUSE,function(){l=!0;var t=mejs.Utils.createEvent("pause",a);e.dispatchEvent(t)}),f.bind(SC.Widget.Events.PLAY,function(){l=!1,p=!1;var t=mejs.Utils.createEvent("play",a);e.dispatchEvent(t)}),f.bind(SC.Widget.Events.FINISHED,function(){l=!1,p=!0;var t=mejs.Utils.createEvent("ended",a);e.dispatchEvent(t)}),f.bind(SC.Widget.Events.READY,function(){f.getDuration(function(t){u=t/1e3;var n=mejs.Utils.createEvent("loadedmetadata",a);e.dispatchEvent(n)})}),f.bind(SC.Widget.Events.LOAD_PROGRESS,function(){f.getDuration(function(t){if(u>0){c=u*t;var n=mejs.Utils.createEvent("progress",a);e.dispatchEvent(n)}}),f.getDuration(function(t){u=t;var n=mejs.Utils.createEvent("loadedmetadata",a);e.dispatchEvent(n)})});for(var h=["rendererready","loadeddata","loadedmetadata","canplay"],y=0,E=h.length;y<E;y++){var g=mejs.Utils.createEvent(h[y],a);e.dispatchEvent(g)}},(v=document.createElement("iframe")).id=a.id,v.width=o?"100%":1,v.height=o?"100%":1,v.frameBorder=0,v.style.visibility=o?"visible":"hidden",v.src=n[0].src,v.scrolling="no",e.appendChild(v),e.originalNode.style.display="none";var b={iframe:v,id:a.id};return r.load(b),a.setSize=function(){},a.hide=function(){a.pause(),v&&(v.style.display="none")},a.show=function(){v&&(v.style.display="")},a.destroy=function(){f.destroy()},a}};mejs.Utils.typeChecks.push(function(e){return/\/\/(w\.)?soundcloud.com/i.test(e)?"video/x-soundcloud":null}),mejs.Renderers.add(a)},{}]},{},[1]);
|
||||
374
plugins/mediaelement/4.2.8/renderers/twitch.js
Normal file
374
plugins/mediaelement/4.2.8/renderers/twitch.js
Normal file
@@ -0,0 +1,374 @@
|
||||
/*!
|
||||
* MediaElement.js
|
||||
* http://www.mediaelementjs.com/
|
||||
*
|
||||
* Wrapper that mimics native HTML5 MediaElement (audio and video)
|
||||
* using a variety of technologies (pure JavaScript, Flash, iframe)
|
||||
*
|
||||
* Copyright 2010-2017, John Dyer (http://j.hn/)
|
||||
* License: MIT
|
||||
*
|
||||
*/(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){
|
||||
'use strict';
|
||||
|
||||
var TwitchApi = {
|
||||
|
||||
promise: null,
|
||||
|
||||
load: function load(settings) {
|
||||
if (typeof Twitch !== 'undefined') {
|
||||
TwitchApi.promise = new Promise(function (resolve) {
|
||||
resolve();
|
||||
}).then(function () {
|
||||
TwitchApi._createPlayer(settings);
|
||||
});
|
||||
} else {
|
||||
TwitchApi.promise = TwitchApi.promise || mejs.Utils.loadScript('https://player.twitch.tv/js/embed/v1.js');
|
||||
TwitchApi.promise.then(function () {
|
||||
TwitchApi._createPlayer(settings);
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
_createPlayer: function _createPlayer(settings) {
|
||||
var player = new Twitch.Player(settings.id, settings);
|
||||
window['__ready__' + settings.id](player);
|
||||
},
|
||||
|
||||
getTwitchId: function getTwitchId(url) {
|
||||
var twitchId = '';
|
||||
|
||||
if (url.indexOf('?') > 0) {
|
||||
twitchId = TwitchApi.getTwitchIdFromParam(url);
|
||||
if (twitchId === '') {
|
||||
twitchId = TwitchApi.getTwitchIdFromUrl(url);
|
||||
}
|
||||
} else {
|
||||
twitchId = TwitchApi.getTwitchIdFromUrl(url);
|
||||
}
|
||||
|
||||
return twitchId;
|
||||
},
|
||||
|
||||
getTwitchIdFromParam: function getTwitchIdFromParam(url) {
|
||||
if (url === undefined || url === null || !url.trim().length) {
|
||||
return null;
|
||||
}
|
||||
|
||||
var parts = url.split('?'),
|
||||
parameters = parts[1].split('&');
|
||||
|
||||
var twitchId = '';
|
||||
|
||||
for (var i = 0, total = parameters.length; i < total; i++) {
|
||||
var paramParts = parameters[i].split('=');
|
||||
if (~paramParts[0].indexOf('channel')) {
|
||||
twitchId = paramParts[1];
|
||||
break;
|
||||
} else if (~paramParts[0].indexOf('video')) {
|
||||
twitchId = 'v' + paramParts[1];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return twitchId;
|
||||
},
|
||||
|
||||
getTwitchIdFromUrl: function getTwitchIdFromUrl(url) {
|
||||
if (url === undefined || url === null || !url.trim().length) {
|
||||
return null;
|
||||
}
|
||||
|
||||
var parts = url.split('?');
|
||||
url = parts[0];
|
||||
var id = url.substring(url.lastIndexOf('/') + 1);
|
||||
return (/^\d+$/i.test(id) ? 'v' + id : id
|
||||
);
|
||||
},
|
||||
|
||||
getTwitchType: function getTwitchType(id) {
|
||||
return (/^v\d+/i.test(id) ? 'video' : 'channel'
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
var TwitchIframeRenderer = {
|
||||
name: 'twitch_iframe',
|
||||
options: {
|
||||
prefix: 'twitch_iframe'
|
||||
},
|
||||
|
||||
canPlayType: function canPlayType(type) {
|
||||
return ~['video/twitch', 'video/x-twitch'].indexOf(type.toLowerCase());
|
||||
},
|
||||
|
||||
create: function create(mediaElement, options, mediaFiles) {
|
||||
var twitch = {},
|
||||
apiStack = [],
|
||||
readyState = 4,
|
||||
twitchId = TwitchApi.getTwitchId(mediaFiles[0].src);
|
||||
|
||||
var twitchPlayer = null,
|
||||
paused = true,
|
||||
ended = false,
|
||||
hasStartedPlaying = false,
|
||||
volume = 1,
|
||||
duration = Infinity,
|
||||
time = 0;
|
||||
|
||||
twitch.options = options;
|
||||
twitch.id = mediaElement.id + '_' + options.prefix;
|
||||
twitch.mediaElement = mediaElement;
|
||||
|
||||
var props = mejs.html5media.properties,
|
||||
assignGettersSetters = function assignGettersSetters(propName) {
|
||||
var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
|
||||
|
||||
twitch['get' + capName] = function () {
|
||||
if (twitchPlayer !== null) {
|
||||
var value = null;
|
||||
|
||||
switch (propName) {
|
||||
case 'currentTime':
|
||||
time = twitchPlayer.getCurrentTime();
|
||||
return time;
|
||||
case 'duration':
|
||||
duration = twitchPlayer.getDuration();
|
||||
return duration;
|
||||
case 'volume':
|
||||
volume = twitchPlayer.getVolume();
|
||||
return volume;
|
||||
case 'paused':
|
||||
paused = twitchPlayer.isPaused();
|
||||
return paused;
|
||||
case 'ended':
|
||||
ended = twitchPlayer.getEnded();
|
||||
return ended;
|
||||
case 'muted':
|
||||
return twitchPlayer.getMuted();
|
||||
case 'buffered':
|
||||
return {
|
||||
start: function start() {
|
||||
return 0;
|
||||
},
|
||||
end: function end() {
|
||||
return 0;
|
||||
},
|
||||
length: 1
|
||||
};
|
||||
case 'src':
|
||||
return TwitchApi.getTwitchType(twitchId) === 'channel' ? twitchPlayer.getChannel() : twitchPlayer.getVideo();
|
||||
case 'readyState':
|
||||
return readyState;
|
||||
}
|
||||
|
||||
return value;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
twitch['set' + capName] = function (value) {
|
||||
if (twitchPlayer !== null) {
|
||||
switch (propName) {
|
||||
case 'src':
|
||||
var url = typeof value === 'string' ? value : value[0].src,
|
||||
videoId = TwitchApi.getTwitchId(url);
|
||||
|
||||
if (TwitchApi.getTwitchType(twitchId) === 'channel') {
|
||||
twitchPlayer.setChannel(videoId);
|
||||
} else {
|
||||
twitchPlayer.setVideo(videoId);
|
||||
}
|
||||
break;
|
||||
case 'currentTime':
|
||||
twitchPlayer.seek(value);
|
||||
setTimeout(function () {
|
||||
var event = mejs.Utils.createEvent('timeupdate', twitch);
|
||||
mediaElement.dispatchEvent(event);
|
||||
}, 50);
|
||||
break;
|
||||
case 'muted':
|
||||
twitchPlayer.setMuted(value);
|
||||
setTimeout(function () {
|
||||
var event = mejs.Utils.createEvent('volumechange', twitch);
|
||||
mediaElement.dispatchEvent(event);
|
||||
}, 50);
|
||||
break;
|
||||
case 'volume':
|
||||
volume = value;
|
||||
twitchPlayer.setVolume(value);
|
||||
setTimeout(function () {
|
||||
var event = mejs.Utils.createEvent('volumechange', twitch);
|
||||
mediaElement.dispatchEvent(event);
|
||||
}, 50);
|
||||
break;
|
||||
case 'readyState':
|
||||
var event = mejs.Utils.createEvent('canplay', twitch);
|
||||
mediaElement.dispatchEvent(event);
|
||||
break;
|
||||
default:
|
||||
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
apiStack.push({ type: 'set', propName: propName, value: value });
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
for (var i = 0, total = props.length; i < total; i++) {
|
||||
assignGettersSetters(props[i]);
|
||||
}
|
||||
|
||||
var methods = mejs.html5media.methods,
|
||||
assignMethods = function assignMethods(methodName) {
|
||||
twitch[methodName] = function () {
|
||||
if (twitchPlayer !== null) {
|
||||
switch (methodName) {
|
||||
case 'play':
|
||||
paused = false;
|
||||
return twitchPlayer.play();
|
||||
case 'pause':
|
||||
paused = true;
|
||||
return twitchPlayer.pause();
|
||||
case 'load':
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
apiStack.push({ type: 'call', methodName: methodName });
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
for (var _i = 0, _total = methods.length; _i < _total; _i++) {
|
||||
assignMethods(methods[_i]);
|
||||
}
|
||||
|
||||
function sendEvents(events) {
|
||||
for (var _i2 = 0, _total2 = events.length; _i2 < _total2; _i2++) {
|
||||
var event = mejs.Utils.createEvent(events[_i2], twitch);
|
||||
mediaElement.dispatchEvent(event);
|
||||
}
|
||||
}
|
||||
|
||||
window['__ready__' + twitch.id] = function (_twitchPlayer) {
|
||||
mediaElement.twitchPlayer = twitchPlayer = _twitchPlayer;
|
||||
|
||||
if (apiStack.length) {
|
||||
for (var _i3 = 0, _total3 = apiStack.length; _i3 < _total3; _i3++) {
|
||||
var stackItem = apiStack[_i3];
|
||||
|
||||
if (stackItem.type === 'set') {
|
||||
var propName = stackItem.propName,
|
||||
capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
|
||||
|
||||
twitch['set' + capName](stackItem.value);
|
||||
} else if (stackItem.type === 'call') {
|
||||
twitch[stackItem.methodName]();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var twitchIframe = document.getElementById(twitch.id).firstChild;
|
||||
twitchIframe.style.width = '100%';
|
||||
twitchIframe.style.height = '100%';
|
||||
|
||||
var events = ['mouseover', 'mouseout'],
|
||||
assignEvents = function assignEvents(e) {
|
||||
var event = mejs.Utils.createEvent(e.type, twitch);
|
||||
mediaElement.dispatchEvent(event);
|
||||
};
|
||||
|
||||
for (var _i4 = 0, _total4 = events.length; _i4 < _total4; _i4++) {
|
||||
twitchIframe.addEventListener(events[_i4], assignEvents, false);
|
||||
}
|
||||
|
||||
var timer = void 0;
|
||||
|
||||
twitchPlayer.addEventListener(Twitch.Player.READY, function () {
|
||||
paused = false;
|
||||
ended = false;
|
||||
sendEvents(['rendererready', 'loadedmetadata', 'loadeddata', 'canplay']);
|
||||
});
|
||||
twitchPlayer.addEventListener(Twitch.Player.PLAY, function () {
|
||||
if (!hasStartedPlaying) {
|
||||
hasStartedPlaying = true;
|
||||
}
|
||||
paused = false;
|
||||
ended = false;
|
||||
sendEvents(['play', 'playing', 'progress']);
|
||||
|
||||
timer = setInterval(function () {
|
||||
twitchPlayer.getCurrentTime();
|
||||
sendEvents(['timeupdate']);
|
||||
}, 250);
|
||||
});
|
||||
twitchPlayer.addEventListener(Twitch.Player.PAUSE, function () {
|
||||
paused = true;
|
||||
ended = false;
|
||||
if (!twitchPlayer.getEnded()) {
|
||||
sendEvents(['pause']);
|
||||
}
|
||||
});
|
||||
twitchPlayer.addEventListener(Twitch.Player.ENDED, function () {
|
||||
paused = true;
|
||||
ended = true;
|
||||
sendEvents(['ended']);
|
||||
clearInterval(timer);
|
||||
hasStartedPlaying = false;
|
||||
timer = null;
|
||||
});
|
||||
};
|
||||
|
||||
var height = mediaElement.originalNode.height,
|
||||
width = mediaElement.originalNode.width,
|
||||
twitchContainer = document.createElement('div'),
|
||||
type = TwitchApi.getTwitchType(twitchId),
|
||||
twitchSettings = {
|
||||
id: twitch.id,
|
||||
width: width,
|
||||
height: height,
|
||||
playsinline: false,
|
||||
autoplay: mediaElement.originalNode.autoplay,
|
||||
muted: mediaElement.originalNode.muted
|
||||
};
|
||||
|
||||
twitchSettings[type] = twitchId;
|
||||
twitchContainer.id = twitch.id;
|
||||
twitchContainer.style.width = '100%';
|
||||
twitchContainer.style.height = '100%';
|
||||
|
||||
mediaElement.originalNode.parentNode.insertBefore(twitchContainer, mediaElement.originalNode);
|
||||
mediaElement.originalNode.style.display = 'none';
|
||||
mediaElement.originalNode.autoplay = false;
|
||||
|
||||
twitch.setSize = function (width, height) {
|
||||
if (TwitchApi !== null && !isNaN(width) && !isNaN(height)) {
|
||||
twitchContainer.setAttribute('width', width);
|
||||
twitchContainer.setAttribute('height', height);
|
||||
}
|
||||
};
|
||||
twitch.hide = function () {
|
||||
twitch.pause();
|
||||
twitchContainer.style.display = 'none';
|
||||
};
|
||||
twitch.show = function () {
|
||||
twitchContainer.style.display = '';
|
||||
};
|
||||
twitch.destroy = function () {};
|
||||
|
||||
TwitchApi.load(twitchSettings);
|
||||
|
||||
return twitch;
|
||||
}
|
||||
};
|
||||
|
||||
mejs.Utils.typeChecks.push(function (url) {
|
||||
return (/\/\/(www|player).twitch.tv/i.test(url) ? 'video/x-twitch' : null
|
||||
);
|
||||
});
|
||||
|
||||
mejs.Renderers.add(TwitchIframeRenderer);
|
||||
|
||||
},{}]},{},[1]);
|
||||
12
plugins/mediaelement/4.2.8/renderers/twitch.min.js
vendored
Normal file
12
plugins/mediaelement/4.2.8/renderers/twitch.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
411
plugins/mediaelement/4.2.8/renderers/vimeo.js
Normal file
411
plugins/mediaelement/4.2.8/renderers/vimeo.js
Normal file
@@ -0,0 +1,411 @@
|
||||
/*!
|
||||
* MediaElement.js
|
||||
* http://www.mediaelementjs.com/
|
||||
*
|
||||
* Wrapper that mimics native HTML5 MediaElement (audio and video)
|
||||
* using a variety of technologies (pure JavaScript, Flash, iframe)
|
||||
*
|
||||
* Copyright 2010-2017, John Dyer (http://j.hn/)
|
||||
* License: MIT
|
||||
*
|
||||
*/(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){
|
||||
'use strict';
|
||||
|
||||
var VimeoApi = {
|
||||
|
||||
promise: null,
|
||||
|
||||
load: function load(settings) {
|
||||
|
||||
if (typeof Vimeo !== 'undefined') {
|
||||
VimeoApi._createPlayer(settings);
|
||||
} else {
|
||||
VimeoApi.promise = VimeoApi.promise || mejs.Utils.loadScript('https://player.vimeo.com/api/player.js');
|
||||
VimeoApi.promise.then(function () {
|
||||
VimeoApi._createPlayer(settings);
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
_createPlayer: function _createPlayer(settings) {
|
||||
var player = new Vimeo.Player(settings.iframe);
|
||||
window['__ready__' + settings.id](player);
|
||||
},
|
||||
|
||||
getVimeoId: function getVimeoId(url) {
|
||||
if (url === undefined || url === null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
var parts = url.split('?');
|
||||
url = parts[0];
|
||||
return parseInt(url.substring(url.lastIndexOf('/') + 1), 10);
|
||||
}
|
||||
};
|
||||
|
||||
var vimeoIframeRenderer = {
|
||||
|
||||
name: 'vimeo_iframe',
|
||||
options: {
|
||||
prefix: 'vimeo_iframe'
|
||||
},
|
||||
|
||||
canPlayType: function canPlayType(type) {
|
||||
return ~['video/vimeo', 'video/x-vimeo'].indexOf(type.toLowerCase());
|
||||
},
|
||||
|
||||
create: function create(mediaElement, options, mediaFiles) {
|
||||
var apiStack = [],
|
||||
vimeo = {},
|
||||
readyState = 4;
|
||||
|
||||
var paused = true,
|
||||
volume = 1,
|
||||
oldVolume = volume,
|
||||
currentTime = 0,
|
||||
bufferedTime = 0,
|
||||
ended = false,
|
||||
duration = 0,
|
||||
vimeoPlayer = null,
|
||||
url = '';
|
||||
|
||||
vimeo.options = options;
|
||||
vimeo.id = mediaElement.id + '_' + options.prefix;
|
||||
vimeo.mediaElement = mediaElement;
|
||||
|
||||
var errorHandler = function errorHandler(error) {
|
||||
mediaElement.generateError('Code ' + error.name + ': ' + error.message, mediaFiles);
|
||||
};
|
||||
|
||||
var props = mejs.html5media.properties,
|
||||
assignGettersSetters = function assignGettersSetters(propName) {
|
||||
|
||||
var capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
|
||||
|
||||
vimeo['get' + capName] = function () {
|
||||
if (vimeoPlayer !== null) {
|
||||
var value = null;
|
||||
|
||||
switch (propName) {
|
||||
case 'currentTime':
|
||||
return currentTime;
|
||||
case 'duration':
|
||||
return duration;
|
||||
case 'volume':
|
||||
return volume;
|
||||
case 'muted':
|
||||
return volume === 0;
|
||||
case 'paused':
|
||||
return paused;
|
||||
case 'ended':
|
||||
return ended;
|
||||
case 'src':
|
||||
vimeoPlayer.getVideoUrl().then(function (_url) {
|
||||
url = _url;
|
||||
}).catch(function (error) {
|
||||
return errorHandler(error);
|
||||
});
|
||||
return url;
|
||||
case 'buffered':
|
||||
return {
|
||||
start: function start() {
|
||||
return 0;
|
||||
},
|
||||
end: function end() {
|
||||
return bufferedTime * duration;
|
||||
},
|
||||
length: 1
|
||||
};
|
||||
case 'readyState':
|
||||
return readyState;
|
||||
}
|
||||
return value;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
vimeo['set' + capName] = function (value) {
|
||||
if (vimeoPlayer !== null) {
|
||||
switch (propName) {
|
||||
case 'src':
|
||||
var _url2 = typeof value === 'string' ? value : value[0].src,
|
||||
videoId = VimeoApi.getVimeoId(_url2);
|
||||
|
||||
vimeoPlayer.loadVideo(videoId).then(function () {
|
||||
if (mediaElement.originalNode.autoplay) {
|
||||
vimeoPlayer.play();
|
||||
}
|
||||
}).catch(function (error) {
|
||||
return errorHandler(error);
|
||||
});
|
||||
break;
|
||||
case 'currentTime':
|
||||
vimeoPlayer.setCurrentTime(value).then(function () {
|
||||
currentTime = value;
|
||||
setTimeout(function () {
|
||||
var event = mejs.Utils.createEvent('timeupdate', vimeo);
|
||||
mediaElement.dispatchEvent(event);
|
||||
}, 50);
|
||||
}).catch(function (error) {
|
||||
return errorHandler(error);
|
||||
});
|
||||
break;
|
||||
case 'volume':
|
||||
vimeoPlayer.setVolume(value).then(function () {
|
||||
volume = value;
|
||||
oldVolume = volume;
|
||||
setTimeout(function () {
|
||||
var event = mejs.Utils.createEvent('volumechange', vimeo);
|
||||
mediaElement.dispatchEvent(event);
|
||||
}, 50);
|
||||
}).catch(function (error) {
|
||||
return errorHandler(error);
|
||||
});
|
||||
break;
|
||||
case 'loop':
|
||||
vimeoPlayer.setLoop(value).catch(function (error) {
|
||||
return errorHandler(error);
|
||||
});
|
||||
break;
|
||||
case 'muted':
|
||||
if (value) {
|
||||
vimeoPlayer.setVolume(0).then(function () {
|
||||
volume = 0;
|
||||
setTimeout(function () {
|
||||
var event = mejs.Utils.createEvent('volumechange', vimeo);
|
||||
mediaElement.dispatchEvent(event);
|
||||
}, 50);
|
||||
}).catch(function (error) {
|
||||
return errorHandler(error);
|
||||
});
|
||||
} else {
|
||||
vimeoPlayer.setVolume(oldVolume).then(function () {
|
||||
volume = oldVolume;
|
||||
setTimeout(function () {
|
||||
var event = mejs.Utils.createEvent('volumechange', vimeo);
|
||||
mediaElement.dispatchEvent(event);
|
||||
}, 50);
|
||||
}).catch(function (error) {
|
||||
return errorHandler(error);
|
||||
});
|
||||
}
|
||||
break;
|
||||
case 'readyState':
|
||||
var event = mejs.Utils.createEvent('canplay', vimeo);
|
||||
mediaElement.dispatchEvent(event);
|
||||
break;
|
||||
default:
|
||||
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
apiStack.push({ type: 'set', propName: propName, value: value });
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
for (var i = 0, total = props.length; i < total; i++) {
|
||||
assignGettersSetters(props[i]);
|
||||
}
|
||||
|
||||
var methods = mejs.html5media.methods,
|
||||
assignMethods = function assignMethods(methodName) {
|
||||
vimeo[methodName] = function () {
|
||||
if (vimeoPlayer !== null) {
|
||||
switch (methodName) {
|
||||
case 'play':
|
||||
paused = false;
|
||||
return vimeoPlayer.play();
|
||||
case 'pause':
|
||||
paused = true;
|
||||
return vimeoPlayer.pause();
|
||||
case 'load':
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
apiStack.push({ type: 'call', methodName: methodName });
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
for (var _i = 0, _total = methods.length; _i < _total; _i++) {
|
||||
assignMethods(methods[_i]);
|
||||
}
|
||||
|
||||
window['__ready__' + vimeo.id] = function (_vimeoPlayer) {
|
||||
|
||||
mediaElement.vimeoPlayer = vimeoPlayer = _vimeoPlayer;
|
||||
|
||||
if (apiStack.length) {
|
||||
for (var _i2 = 0, _total2 = apiStack.length; _i2 < _total2; _i2++) {
|
||||
var stackItem = apiStack[_i2];
|
||||
|
||||
if (stackItem.type === 'set') {
|
||||
var propName = stackItem.propName,
|
||||
capName = '' + propName.substring(0, 1).toUpperCase() + propName.substring(1);
|
||||
|
||||
vimeo['set' + capName](stackItem.value);
|
||||
} else if (stackItem.type === 'call') {
|
||||
vimeo[stackItem.methodName]();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (mediaElement.originalNode.muted) {
|
||||
vimeoPlayer.setVolume(0);
|
||||
volume = 0;
|
||||
}
|
||||
|
||||
var vimeoIframe = document.getElementById(vimeo.id);
|
||||
var events = void 0;
|
||||
|
||||
events = ['mouseover', 'mouseout'];
|
||||
|
||||
var assignEvents = function assignEvents(e) {
|
||||
var event = mejs.Utils.createEvent(e.type, vimeo);
|
||||
mediaElement.dispatchEvent(event);
|
||||
};
|
||||
|
||||
for (var _i3 = 0, _total3 = events.length; _i3 < _total3; _i3++) {
|
||||
vimeoIframe.addEventListener(events[_i3], assignEvents, false);
|
||||
}
|
||||
|
||||
vimeoPlayer.on('loaded', function () {
|
||||
vimeoPlayer.getDuration().then(function (loadProgress) {
|
||||
duration = loadProgress;
|
||||
if (duration > 0) {
|
||||
bufferedTime = duration * loadProgress;
|
||||
if (mediaElement.originalNode.autoplay) {
|
||||
paused = false;
|
||||
ended = false;
|
||||
var event = mejs.Utils.createEvent('play', vimeo);
|
||||
mediaElement.dispatchEvent(event);
|
||||
}
|
||||
}
|
||||
}).catch(function (error) {
|
||||
errorHandler(error, vimeo);
|
||||
});
|
||||
});
|
||||
vimeoPlayer.on('progress', function () {
|
||||
vimeoPlayer.getDuration().then(function (loadProgress) {
|
||||
duration = loadProgress;
|
||||
|
||||
if (duration > 0) {
|
||||
bufferedTime = duration * loadProgress;
|
||||
if (mediaElement.originalNode.autoplay) {
|
||||
var initEvent = mejs.Utils.createEvent('play', vimeo);
|
||||
mediaElement.dispatchEvent(initEvent);
|
||||
|
||||
var playingEvent = mejs.Utils.createEvent('playing', vimeo);
|
||||
mediaElement.dispatchEvent(playingEvent);
|
||||
}
|
||||
}
|
||||
|
||||
var event = mejs.Utils.createEvent('progress', vimeo);
|
||||
mediaElement.dispatchEvent(event);
|
||||
}).catch(function (error) {
|
||||
return errorHandler(error);
|
||||
});
|
||||
});
|
||||
vimeoPlayer.on('timeupdate', function () {
|
||||
vimeoPlayer.getCurrentTime().then(function (seconds) {
|
||||
currentTime = seconds;
|
||||
var event = mejs.Utils.createEvent('timeupdate', vimeo);
|
||||
mediaElement.dispatchEvent(event);
|
||||
}).catch(function (error) {
|
||||
return errorHandler(error);
|
||||
});
|
||||
});
|
||||
vimeoPlayer.on('play', function () {
|
||||
paused = false;
|
||||
ended = false;
|
||||
var event = mejs.Utils.createEvent('play', vimeo);
|
||||
mediaElement.dispatchEvent(event);
|
||||
|
||||
var playingEvent = mejs.Utils.createEvent('playing', vimeo);
|
||||
mediaElement.dispatchEvent(playingEvent);
|
||||
});
|
||||
vimeoPlayer.on('pause', function () {
|
||||
paused = true;
|
||||
ended = false;
|
||||
|
||||
var event = mejs.Utils.createEvent('pause', vimeo);
|
||||
mediaElement.dispatchEvent(event);
|
||||
});
|
||||
vimeoPlayer.on('ended', function () {
|
||||
paused = false;
|
||||
ended = true;
|
||||
|
||||
var event = mejs.Utils.createEvent('ended', vimeo);
|
||||
mediaElement.dispatchEvent(event);
|
||||
});
|
||||
|
||||
events = ['rendererready', 'loadedmetadata', 'loadeddata', 'canplay'];
|
||||
|
||||
for (var _i4 = 0, _total4 = events.length; _i4 < _total4; _i4++) {
|
||||
var event = mejs.Utils.createEvent(events[_i4], vimeo);
|
||||
mediaElement.dispatchEvent(event);
|
||||
}
|
||||
};
|
||||
|
||||
var height = mediaElement.originalNode.height,
|
||||
width = mediaElement.originalNode.width,
|
||||
vimeoContainer = document.createElement('iframe'),
|
||||
standardUrl = 'https://player.vimeo.com/video/' + VimeoApi.getVimeoId(mediaFiles[0].src);
|
||||
|
||||
var queryArgs = ~mediaFiles[0].src.indexOf('?') ? '?' + mediaFiles[0].src.slice(mediaFiles[0].src.indexOf('?') + 1) : '';
|
||||
if (queryArgs && mediaElement.originalNode.autoplay && queryArgs.indexOf('autoplay') === -1) {
|
||||
queryArgs += '&autoplay=1';
|
||||
}
|
||||
if (queryArgs && mediaElement.originalNode.loop && queryArgs.indexOf('loop') === -1) {
|
||||
queryArgs += '&loop=1';
|
||||
}
|
||||
|
||||
vimeoContainer.setAttribute('id', vimeo.id);
|
||||
vimeoContainer.setAttribute('width', width);
|
||||
vimeoContainer.setAttribute('height', height);
|
||||
vimeoContainer.setAttribute('frameBorder', '0');
|
||||
vimeoContainer.setAttribute('src', '' + standardUrl + queryArgs);
|
||||
vimeoContainer.setAttribute('webkitallowfullscreen', '');
|
||||
vimeoContainer.setAttribute('mozallowfullscreen', '');
|
||||
vimeoContainer.setAttribute('allowfullscreen', '');
|
||||
|
||||
mediaElement.originalNode.parentNode.insertBefore(vimeoContainer, mediaElement.originalNode);
|
||||
mediaElement.originalNode.style.display = 'none';
|
||||
|
||||
VimeoApi.load({
|
||||
iframe: vimeoContainer,
|
||||
id: vimeo.id
|
||||
});
|
||||
|
||||
vimeo.hide = function () {
|
||||
vimeo.pause();
|
||||
if (vimeoPlayer) {
|
||||
vimeoContainer.style.display = 'none';
|
||||
}
|
||||
};
|
||||
vimeo.setSize = function (width, height) {
|
||||
vimeoContainer.setAttribute('width', width);
|
||||
vimeoContainer.setAttribute('height', height);
|
||||
};
|
||||
vimeo.show = function () {
|
||||
if (vimeoPlayer) {
|
||||
vimeoContainer.style.display = '';
|
||||
}
|
||||
};
|
||||
|
||||
vimeo.destroy = function () {};
|
||||
|
||||
return vimeo;
|
||||
}
|
||||
};
|
||||
|
||||
mejs.Utils.typeChecks.push(function (url) {
|
||||
return (/(\/\/player\.vimeo|vimeo\.com)/i.test(url) ? 'video/x-vimeo' : null
|
||||
);
|
||||
});
|
||||
|
||||
mejs.Renderers.add(vimeoIframeRenderer);
|
||||
|
||||
},{}]},{},[1]);
|
||||
12
plugins/mediaelement/4.2.8/renderers/vimeo.min.js
vendored
Normal file
12
plugins/mediaelement/4.2.8/renderers/vimeo.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
149
plugins/mediaelement/README.md
Normal file
149
plugins/mediaelement/README.md
Normal file
@@ -0,0 +1,149 @@
|
||||
# 
|
||||
|
||||
One file. Any browser. Same UI.
|
||||
|
||||
* Author: John Dyer [http://j.hn/](http://j.hn/)
|
||||
* Website: [http://mediaelementjs.com/](http://mediaelementjs.com/)
|
||||
* License: [MIT](http://johndyer.mit-license.org/)
|
||||
* Meaning: Use everywhere, keep copyright, it'd be swell if you'd link back here.
|
||||
* Thanks: my employer, [Dallas Theological Seminary](http://www.dts.edu/)
|
||||
* Contributors: [all contributors](https://github.com/johndyer/mediaelement/graphs/contributors)
|
||||
* Currently maintained by Rafael Miranda (@ron666)
|
||||
|
||||
[](https://github.com/johndyer/mediaelement)
|
||||
[](https://travis-ci.org/johndyer/mediaelement)
|
||||
[](https://coveralls.io/github/johndyer/mediaelement)
|
||||
[](https://johndyer.mit-license.org/)
|
||||
|
||||
# Table of Contents
|
||||
|
||||
* [Introduction](#intro)
|
||||
* [Browser and Device support](#browser-support)
|
||||
* [What's New on `MediaElement.js` version 3.0](#new-features)
|
||||
* [Migrating from `2.x` to `3.x` version](#migration)
|
||||
* [Browser and Device support](#browser-support)
|
||||
* [Installation and Usage](#installation)
|
||||
* [API and Configuration](#api)
|
||||
* [Guidelines for Contributors](#guidelines)
|
||||
* [Change Log](#changelog)
|
||||
* [TODO list](#todo)
|
||||
|
||||
<a id="intro"></a>
|
||||
## Introduction
|
||||
|
||||
_MediaElementPlayer: HTML5 `<video>` and `<audio>` player_
|
||||
|
||||
A complete HTML/CSS audio/video player built on top `MediaElement.js` and `jQuery`. Many great HTML5 players have a completely separate Flash UI in fallback mode, but MediaElementPlayer.js uses the same HTML/CSS for all players.
|
||||
|
||||
`MediaElement.js` is a set of custom Flash plugins that mimic the HTML5 MediaElement API for browsers that don't support HTML5 or don't support the media codecs you're using.
|
||||
Instead of using Flash as a _fallback_, Flash is used to make the browser seem HTML5 compliant and enable codecs like H.264 (via Flash) on all browsers.
|
||||
|
||||
<a id="new-features"></a>
|
||||
## * What's New on `MediaElement.js` version 3.0
|
||||
|
||||
* Introduction of `Renderers`, pluggable code that allows the introduction of new media formats in an easier way.
|
||||
|
||||
* Refactor code in `ES2015` notation and added [Travis CI](https://travis-ci.org/johndyer/mediaelement) and [Coveralls](https://coveralls.io/github/johndyer/mediaelement) support
|
||||
|
||||
* Ability to play Facebook, SoundCloud, M(PEG)-DASH using [dash.js](https://github.com/Dash-Industry-Forum/dash.js) for native support and [dash.as](https://github.com/castlabs/dashas) for Flash fallback.
|
||||
|
||||
* Code completely documented using [JSDoc](http://usejsdoc.org/) notation.
|
||||
|
||||
* Updated styles for control bar.
|
||||
|
||||
* Introduction of BEM naming convention for player classes, and backward compatibility with "legacy" stylesheet.
|
||||
|
||||
* Addition of native HLS using [hls.js](https://github.com/dailymotion/hls.js) library.
|
||||
|
||||
* Updated player for Vimeo by removing the use of `Froogaloop` and integrating the new [Player API](https://github.com/vimeo/player.js).
|
||||
|
||||
* Removed Silverlight shim, as well as IE8 and older browsers support.
|
||||
|
||||
* Integration of [JSLint](https://github.com/douglascrockford/JSLint) to ensure code quality and better error checking for development.
|
||||
|
||||
For more information, please consult [Change Log](changelog.md)
|
||||
|
||||
<a id="migration"></a>
|
||||
## * IMPORTANT: Migrating from `2.x` to `3.x` version
|
||||
|
||||
In order to successfully install `3.x` in an existing setup, you must consider the following guidelines:
|
||||
|
||||
1. If your installation relies on the legacy player classes (i.e., `mejs-player`, `mejs-container`, etc.), you **must** set up the proper namespace. In `2.x`, the default namespace is `mejs-` but now is `mejs__`. In order to set up a new namespace (or the legacy one), use the `classPrefix` configuration, and make sure you use the `mediaelementplayer-legacy` stylesheet provided in the `/build/` folder.
|
||||
|
||||
2. You **must** set up now the path for the Flash shims if they are not in the same folder as the JS files. To do this, set the path via the `pluginPath` configuration. In the same topic, if you need to support browsers with Javascript disabled, you **must** reference the correct Flash shim, since in `2.x` there was only a single Flash shim and in `3.x` it was split to target specific media types. Check the [Browsers with JavaScript disabled](docs/installation.md#disabled-javascript) section for more details.
|
||||
|
||||
3. If you need to force the Flash shim, the way to do it in `3.x` version is to use the `renderers` configuration and list them in an array.
|
||||
|
||||
4. `pluginType` was removed to favor `rendererName`. If you rely on that element, just create conditionals based on the renderer ID (all listed [here](docs/usage.md#renderers-list)). For example:
|
||||
|
||||
```javascript
|
||||
$('video, audio').mediaelementplayer({
|
||||
// Configuration
|
||||
success: function(media) {
|
||||
var isNative = media.rendererName.match(/html5|native/);
|
||||
|
||||
var isYoutube = media.rendererName.match(/youtube/);
|
||||
|
||||
// etc.
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
**It is strongly recommended to read the documentation to get the most out of this package**. Visit [here](docs) to start.
|
||||
|
||||
<a id="browser-support"></a>
|
||||
## Browser and Device support
|
||||
|
||||
In general, `MediaElement` supports **IE9+, MS Edge, Chrome, Firefox, Safari, iOS 8+** and **Android 4.0+**.
|
||||
|
||||
Format | MIME Type | Support
|
||||
------ | --------- | -------
|
||||
mp4 | video/mp4, audio/mp4, audio/mpeg | Please visit http://caniuse.com/#feat=mpeg4 for comprehensive information
|
||||
webm | video/webm | Please visit http://caniuse.com/#feat=webm for comprehensive information
|
||||
mp3 | audio/mp3 | Please visit http://caniuse.com/#feat=mp3 for comprehensive information
|
||||
ogg/ogv | audio/ogg, audio/oga, video/ogg | Please visit http://caniuse.com/#search=ogg for comprehensive information
|
||||
wav | audio/wav, audio/x-wav, audio/wave, audio/x-pn-wav | Please visit http://caniuse.com/#feat=wav for comprehensive information
|
||||
m3u8 | application/x-mpegURL, vnd.apple.mpegURL, audio/mpegURL, audio/hls, video/hls | Safari and iOS (native); browsers that support MSE through `hls.js` library; rest of the browsers that support `Flash` (version 10 or later)
|
||||
mpd | application/dash+xml | Browsers that support MSE through `dash.js` library; rest of the browsers that support `Flash` (version 10 or later)
|
||||
flv | video/flv | Browsers that support MSE through `flv.js` library; rest of the browsers that support `Flash` (version 10 or later)
|
||||
rtmp | video/mp4, video/rtmp, audio/rtmp, rtmp/mp4, audio/mp4 | All browsers that support `Flash` (version 10 or later)
|
||||
youtube | video/youtube, video/x-youtube | All browsers that support `window.postMessage`; Flash deprecated.
|
||||
vimeo | video/vimeo, video/x-vimeo | All browsers that support `iframe` tag and HTML5
|
||||
facebook | video/facebook, video/x-facebook | All browsers that support `iframe` tag and HTML5
|
||||
dailymotion | video/dailymotion, video/x-dailymotion | All browsers that support `iframe` tag and HTML5
|
||||
soundcloud | video/soundcloud, video/x-soundcloud | All browsers that support `iframe` tag and HTML5
|
||||
|
||||
**Notes**
|
||||
* Support for `wmv` and `wma` has been dropped since most of the major players are not supporting it as well.
|
||||
* `ogg` formats won’t play consistently in all browsers so it is strongly recommended a MP3 fallback for audio, or MP4 for video.
|
||||
* `wav` formats will only play on Browsers that support it natively since there is currently no Flash fallback to allow them to play in other browsers.
|
||||
|
||||
|
||||
<a id="installation"></a>
|
||||
## Installation and Usage
|
||||
|
||||
The full documentation on how to install `MediaElement.js` is available at [Installation](docs/installation.md).
|
||||
|
||||
A brief guide on how to create and use instances of `MediaElement` available at [Usage](docs/usage.md).
|
||||
|
||||
<a id="api"></a>
|
||||
## API and Configuration
|
||||
|
||||
`MediaElement.js` has many options that you can take advantage from. Visit [API and Configuration](docs/api.md) for more details.
|
||||
|
||||
<a id="guidelines"></a>
|
||||
## Guidelines for Contributors
|
||||
|
||||
If you want to contribute to improve this package, please read [Guidelines](docs/guidelines.md).
|
||||
|
||||
<a id="changelog"></a>
|
||||
## Change Log
|
||||
|
||||
Changes available at [Change Log](changelog.md)
|
||||
|
||||
<a id="todo"></a>
|
||||
## TODO list
|
||||
|
||||
**IMPORTANT:** Before posting an issue, it is strongly encouraged to read the whole documentation since it covers the majority of scenarios exposed in prior issues.
|
||||
|
||||
New features and pending bugs can be found at [TODO list](TODO.md).
|
||||
1
plugins/mediaelement/size.txt
Normal file
1
plugins/mediaelement/size.txt
Normal file
@@ -0,0 +1 @@
|
||||
1922487,37
|
||||
Reference in New Issue
Block a user