Skip to content
Snippets Groups Projects
Commit 13965a17 authored by srosse's avatar srosse
Browse files

OO-2742 : update mediaelement to version 4.1.2

parent 0926c7e7
No related branches found
No related tags found
No related merge requests found
Showing
with 593 additions and 39 deletions
......@@ -145,15 +145,12 @@
<output>${basedir}/target/bootstrap/bootstrap-openolat.min.js</output>
<removeIncluded>false</removeIncluded>
<includes>
<!-- <include>${basedir}/target/bootstrap/javascripts/bootstrap/affix.min.js</include> -->
<include>${basedir}/target/bootstrap/javascripts/bootstrap/alert.min.js</include>
<include>${basedir}/target/bootstrap/javascripts/bootstrap/button.min.js</include>
<!-- <include>${basedir}/target/bootstrap/javascripts/bootstrap/carousel.min.js</include> -->
<include>${basedir}/target/bootstrap/javascripts/bootstrap/collapse.min.js</include>
<include>${basedir}/target/bootstrap/javascripts/bootstrap/dropdown.min.js</include>
<include>${basedir}/target/bootstrap/javascripts/bootstrap/tab.min.js</include>
<include>${basedir}/target/bootstrap/javascripts/bootstrap/transition.min.js</include>
<!-- <include>${basedir}/target/bootstrap/javascripts/bootstrap/scrollspy.min.js</include> -->
<include>${basedir}/target/bootstrap/javascripts/bootstrap/modal.min.js</include>
<include>${basedir}/target/bootstrap/javascripts/bootstrap/tooltip.min.js</include>
<include>${basedir}/target/bootstrap/javascripts/bootstrap/popover.min.js</include>
......@@ -161,10 +158,13 @@
</aggregation>
</aggregations>
<excludes>
<exclude>**/jw/*</exclude>
<exclude>**/mediaelementjs/*</exclude>
<exclude>**/mediaelementjs/**/*</exclude>
<exclude>**/sliderpips/jquery-ui-slider-pips.js</exclude>
</excludes>
</configuration>
</execution>
</execution>
<execution>
<!-- compress movie player in place, don't append to any other file -->
<id>compressmovieplayer</id>
......@@ -177,17 +177,27 @@
<force>true</force>
<encoding>UTF-8</encoding>
<nocompress>false</nocompress>
<outputDirectory>${basedir}/src/main/webapp/static/movie</outputDirectory>
<outputDirectory>${basedir}/target/jsmovie</outputDirectory>
<sourceDirectory>${basedir}/src/main/webapp/static/movie</sourceDirectory>
<excludeResources>true</excludeResources>
<aggregations>
<aggregation>
<output>${basedir}/src/main/webapp/static/movie/player.min.js</output>
<removeIncluded>false</removeIncluded>
<includes>
<include>${basedir}/target/jsmovie/player.min.js</include>
</includes>
</aggregation>
</aggregations>
<excludes>
<exclude>**/*.min.js</exclude>
<exclude>**/jw/*</exclude>
<exclude>**/mediaelementjs/*</exclude>
<exclude>**/mediaelementjs/**/*</exclude>
<exclude>**/sliderpips/jquery-ui-slider-pips.js</exclude>
<exclude>**/jw/*</exclude>
</excludes>
</configuration>
</execution>
</execution>
<execution>
<id>compressjs</id>
<phase>process-resources</phase>
......@@ -289,6 +299,9 @@
</aggregation>
</aggregations>
<excludes>
<exclude>**/jw/*</exclude>
<exclude>**/mediaelementjs/*</exclude>
<exclude>**/mediaelementjs/**/*</exclude>
<exclude>**/sliderpips/jquery-ui-slider-pips.js</exclude>
</excludes>
</configuration>
......@@ -328,6 +341,9 @@
</aggregation>
</aggregations>
<excludes>
<exclude>**/jw/*</exclude>
<exclude>**/mediaelementjs/*</exclude>
<exclude>**/mediaelementjs/**/*</exclude>
<exclude>**/sliderpips/jquery-ui-slider-pips.js</exclude>
</excludes>
</configuration>
......@@ -360,6 +376,9 @@
</aggregation>
</aggregations>
<excludes>
<exclude>**/jw/*</exclude>
<exclude>**/mediaelementjs/*</exclude>
<exclude>**/mediaelementjs/**/*</exclude>
<exclude>**/sliderpips/jquery-ui-slider-pips.js</exclude>
</excludes>
</configuration>
......
......@@ -29,6 +29,7 @@ import org.olat.core.commons.services.commentAndRating.CommentAndRatingSecurityC
import org.olat.core.commons.services.commentAndRating.ReadOnlyCommentsSecurityCallback;
import org.olat.core.commons.services.commentAndRating.ui.UserCommentsAndRatingsController;
import org.olat.core.commons.services.image.Size;
import org.olat.core.dispatcher.impl.StaticMediaDispatcher;
import org.olat.core.gui.UserRequest;
import org.olat.core.gui.components.Component;
import org.olat.core.gui.components.htmlheader.jscss.JSAndCSSComponent;
......@@ -36,8 +37,7 @@ import org.olat.core.gui.components.velocity.VelocityContainer;
import org.olat.core.gui.control.Event;
import org.olat.core.gui.control.WindowControl;
import org.olat.core.gui.control.controller.BasicController;
import org.olat.core.gui.render.Renderer;
import org.olat.core.gui.render.StringOutput;
import org.olat.core.helpers.Settings;
import org.olat.core.util.CodeHelper;
import org.olat.core.util.Formatter;
import org.olat.core.util.StringHelper;
......@@ -76,7 +76,6 @@ public class VideoDisplayController extends BasicController {
// User preferred resolution, stored in GUI prefs
private Integer userPreferredResolution = null;
private final boolean readOnly;
private RepositoryEntry entry;
private String descriptionText;
private String mediaRepoBaseUrl;
......@@ -95,7 +94,6 @@ public class VideoDisplayController extends BasicController {
boolean customDescription, boolean autoWidth, String descriptionText, boolean readOnly) {
super(ureq, wControl);
this.entry = entry;
this.readOnly = readOnly;
this.descriptionText = (customDescription ? this.descriptionText = descriptionText : null);
mainVC = createVelocityContainer("video_run");
......@@ -106,14 +104,7 @@ public class VideoDisplayController extends BasicController {
if(mediaContainer != null) {
mediaRepoBaseUrl = registerMapper(ureq, new VFSContainerMapper(mediaContainer.getParentContainer()));
}
// load mediaelementjs player and sourcechooser plugin
StringOutput sb = new StringOutput(50);
Renderer.renderStaticURI(sb, "movie/mediaelementjs/mediaelementplayer.min.css");
String[] cssPath = new String[] {sb.toString()};
String[] jsCodePath= new String[] { "movie/mediaelementjs/mediaelement-and-player.min.js", "movie/mediaelementjs/features/oo-mep-feature-sourcechooser.js" };
JSAndCSSComponent mediaelementjs = new JSAndCSSComponent("mediaelementjs", jsCodePath ,cssPath);
mainVC.put("mediaelementjs", mediaelementjs);
initMediaElementJs();
VFSLeaf video = videoManager.getMasterVideoFile(entry.getOlatResource());
if(video != null) {
......@@ -153,6 +144,38 @@ public class VideoDisplayController extends BasicController {
loadVideo(ureq, video);
}
}
private void initMediaElementJs() {
// load mediaelementjs player, speed and sourcechooser pluginss
String[] cssPath;
String[] jsCodePath;
if(Settings.isDebuging()) {
cssPath = new String[] {
StaticMediaDispatcher.getStaticURI("movie/mediaelementjs/features/source-chooser/source-chooser.css"),
StaticMediaDispatcher.getStaticURI("movie/mediaelementjs/features/speed/speed.css"),
StaticMediaDispatcher.getStaticURI("movie/mediaelementjs/mediaelementplayer.css")
};
jsCodePath = new String[] {
"movie/mediaelementjs/mediaelement-and-player.js",
"movie/mediaelementjs/features/source-chooser/source-chooser.js",
"movie/mediaelementjs/features/speed/speed.js"
};
} else {
cssPath = new String[] {
StaticMediaDispatcher.getStaticURI("movie/mediaelementjs/features/source-chooser/source-chooser.css"),
StaticMediaDispatcher.getStaticURI("movie/mediaelementjs/features/speed/speed.css"),
StaticMediaDispatcher.getStaticURI("movie/mediaelementjs/mediaelementplayer.min.css")
};
jsCodePath = new String[] {
"movie/mediaelementjs/mediaelement-and-player.min.js",
"movie/mediaelementjs/features/source-chooser/source-chooser.min.js",
"movie/mediaelementjs/features/speed/speed.min.js"
};
}
JSAndCSSComponent mediaelementjs = new JSAndCSSComponent("mediaelementjs", jsCodePath ,cssPath);
mainVC.put("mediaelementjs", mediaelementjs);
}
/**
......
......@@ -17,7 +17,7 @@
#end
#if($hasChapters)
<track kind="chapters" src="$masterUrl/chapters.vtt$!addForceReload" />
<track kind="chapters" src="$masterUrl/chapters.vtt$!addForceReload" srclang="en" />
#end
</video>
......@@ -32,9 +32,7 @@
## Configuration for flash fallback
## Set mode:'shim' to force flash usage
pluginPath: mediaElementBaseUrl,
flashName: 'flashmediaelement.swf',
silverlightName: 'silverlightmediaelement.xap',
plugins: ['flash','silverlight'],
stretching: 'responsive',
## Enabled features - should be same order as in player.js.
## Special here is tracks and sourcechooser which are not available in player.js
......@@ -71,7 +69,7 @@
##
## Preselect the preferred source
#if($useSourceChooser)
jQuery(jQuery('.mejs-sourcechooser-selector input')[$preferredResolution]).prop("checked", true).trigger("click");
jQuery(jQuery('.mejs__source-chooser-selector input')[$preferredResolution]).prop("checked", true).trigger("click");
#end
}
});
......
src/main/webapp/static/movie/mediaelementjs/bigplay.fw.png

77.6 KiB

src/main/webapp/static/movie/mediaelementjs/bigplay.png

2.93 KiB

<?xml version="1.0" standalone="no"?>
<svg id="bigplay" viewBox="0 0 100 200" style="background-color:#ffffff00" version="1.1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve"
x="0px" y="0px" width="100px" height="200px"
>
<g id="dark">
<path id="Polygon" d="M 72.5 49.5 L 38.75 68.9856 L 38.75 30.0144 L 72.5 49.5 Z" fill="#ffffff" opacity="0.75" />
<path id="Ellipse" d="M 13 50.5 C 13 29.7891 29.7891 13 50.5 13 C 71.2109 13 88 29.7891 88 50.5 C 88 71.2109 71.2109 88 50.5 88 C 29.7891 88 13 71.2109 13 50.5 Z" stroke="#ffffff" stroke-width="5" fill="none" opacity="0.75"/>
</g>
<g id="light">
<path id="Polygon2" d="M 72.5 149.5 L 38.75 168.9856 L 38.75 130.0144 L 72.5 149.5 Z" fill="#ffffff" opacity="1.0" />
<path id="Ellipse2" d="M 13 150.5 C 13 129.7891 29.7891 113 50.5 113 C 71.2109 113 88 129.7891 88 150.5 C 88 171.211 71.2109 188 50.5 188 C 29.7891 188 13 171.211 13 150.5 Z" stroke="#ffffff" stroke-width="5" fill="none" opacity="1.0"/>
</g>
</svg>
\ No newline at end of file
src/main/webapp/static/movie/mediaelementjs/controls.fw.png

78.9 KiB

src/main/webapp/static/movie/mediaelementjs/controls.png

1.85 KiB

<?xml version="1.0" standalone="no"?><!-- Generator: Adobe Fireworks CS6, Export SVG Extension by Aaron Beall (http://fireworks.abeall.com) . Version: 0.6.1 --><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg id="controls.fw-Page%201" viewBox="0 0 144 32" style="background-color:#ffffff00" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" x="0px" y="0px" width="144px" height="32px"> <defs> <radialGradient id="gradient1" cx="50%" cy="50%" r="50%"> <stop stop-color="#ffffff" stop-opacity="1" offset="0%"/> <stop stop-color="#f2f2f2" stop-opacity="0.2" offset="100%"/> </radialGradient> <linearGradient id="gradient2" x1="50%" y1="-7.8652%" x2="50%" y2="249.6629%"> <stop stop-color="#ffffff" stop-opacity="1" offset="0%"/> <stop stop-color="#c8c8c8" stop-opacity="1" offset="100%"/> </linearGradient> <linearGradient id="gradient3" x1="50%" y1="0%" x2="50%" y2="238.75%"> <stop stop-color="#ffffff" stop-opacity="1" offset="0%"/> <stop stop-color="#c8c8c8" stop-opacity="1" offset="100%"/> </linearGradient> <linearGradient id="gradient4" x1="50%" y1="0%" x2="50%" y2="100%"> <stop stop-color="#ffffff" stop-opacity="1" offset="0%"/> <stop stop-color="#c8c8c8" stop-opacity="1" offset="100%"/> </linearGradient> <linearGradient id="gradient5" x1="50%" y1="-33.3333%" x2="50%" y2="152.0833%"> <stop stop-color="#ffffff" stop-opacity="1" offset="0%"/> <stop stop-color="#c8c8c8" stop-opacity="1" offset="100%"/> </linearGradient> <linearGradient id="gradient6" x1="50%" y1="0%" x2="50%" y2="100%"> <stop stop-color="#ffffff" stop-opacity="1" offset="0%"/> <stop stop-color="#c8c8c8" stop-opacity="1" offset="100%"/> </linearGradient> <linearGradient id="gradient7" x1="50%" y1="-33.3333%" x2="50%" y2="152.0833%"> <stop stop-color="#ffffff" stop-opacity="1" offset="0%"/> <stop stop-color="#c8c8c8" stop-opacity="1" offset="100%"/> </linearGradient> <linearGradient id="gradient8" x1="50%" y1="0%" x2="50%" y2="100%"> <stop stop-color="#ffffff" stop-opacity="1" offset="0%"/> <stop stop-color="#c8c8c8" stop-opacity="1" offset="100%"/> </linearGradient> <linearGradient id="gradient9" x1="50%" y1="0%" x2="50%" y2="100%"> <stop stop-color="#ffffff" stop-opacity="1" offset="0%"/> <stop stop-color="#c8c8c8" stop-opacity="1" offset="100%"/> </linearGradient> <linearGradient id="gradient10" x1="50%" y1="0%" x2="50%" y2="100%"> <stop stop-color="#ffffff" stop-opacity="1" offset="0%"/> <stop stop-color="#c8c8c8" stop-opacity="1" offset="100%"/> </linearGradient> <linearGradient id="gradient11" x1="50%" y1="0%" x2="50%" y2="100%"> <stop stop-color="#ffffff" stop-opacity="1" offset="0%"/> <stop stop-color="#c8c8c8" stop-opacity="1" offset="100%"/> </linearGradient> <linearGradient id="gradient12" x1="50%" y1="0%" x2="50%" y2="238.75%"> <stop stop-color="#ffffff" stop-opacity="1" offset="0%"/> <stop stop-color="#c8c8c8" stop-opacity="1" offset="100%"/> </linearGradient> <linearGradient id="gradient13" x1="40%" y1="-140%" x2="40%" y2="98.75%"> <stop stop-color="#ffffff" stop-opacity="1" offset="0%"/> <stop stop-color="#c8c8c8" stop-opacity="1" offset="100%"/> </linearGradient> <linearGradient id="gradient14" x1="50%" y1="0%" x2="50%" y2="238.75%"> <stop stop-color="#ffffff" stop-opacity="1" offset="0%"/> <stop stop-color="#c8c8c8" stop-opacity="1" offset="100%"/> </linearGradient> <linearGradient id="gradient15" x1="60%" y1="-140%" x2="60%" y2="98.75%"> <stop stop-color="#ffffff" stop-opacity="1" offset="0%"/> <stop stop-color="#c8c8c8" stop-opacity="1" offset="100%"/> </linearGradient> <linearGradient id="gradient16" x1="50%" y1="0%" x2="50%" y2="298.4375%"> <stop stop-color="#ffffff" stop-opacity="1" offset="0%"/> <stop stop-color="#c8c8c8" stop-opacity="1" offset="100%"/> </linearGradient> <linearGradient id="gradient17" x1="50%" y1="0%" x2="50%" y2="238.75%"> <stop stop-color="#ffffff" stop-opacity="1" offset="0%"/> <stop stop-color="#c8c8c8" stop-opacity="1" offset="100%"/> </linearGradient> <linearGradient id="gradient18" x1="50%" y1="-200%" x2="50%" y2="100%"> <stop stop-color="#ffffff" stop-opacity="1" offset="0%"/> <stop stop-color="#c8c8c8" stop-opacity="1" offset="100%"/> </linearGradient> <linearGradient id="gradient19" x1="50%" y1="-200%" x2="50%" y2="110.9375%"> <stop stop-color="#ffffff" stop-opacity="1" offset="0%"/> <stop stop-color="#c8c8c8" stop-opacity="1" offset="100%"/> </linearGradient> <linearGradient id="gradient20" x1="55%" y1="0%" x2="55%" y2="100%"> <stop stop-color="#ffffff" stop-opacity="1" offset="0%"/> <stop stop-color="#c8c8c8" stop-opacity="1" offset="100%"/> </linearGradient> <linearGradient id="gradient21" x1="50%" y1="0%" x2="50%" y2="100%"> <stop stop-color="#ffffff" stop-opacity="1" offset="0%"/> <stop stop-color="#c8c8c8" stop-opacity="1" offset="99.4444%"/> </linearGradient> </defs> <g id="BG"> </g> <g id="controls"> <path id="Line" d="M 98.5 7.5 L 109.5 7.5 " stroke="#ffffff" stroke-width="1" fill="none"/> <path id="Line2" d="M 98.5 3.5 L 109.5 3.5 " stroke="#ffffff" stroke-width="1" fill="none"/> <path id="Line3" d="M 98.5 11.5 L 109.5 11.5 " stroke="#ffffff" stroke-width="1" fill="none"/> <path id="Ellipse" d="M 108 11.5 C 108 10.6716 108.4477 10 109 10 C 109.5523 10 110 10.6716 110 11.5 C 110 12.3284 109.5523 13 109 13 C 108.4477 13 108 12.3284 108 11.5 Z" fill="#ffffff"/> <path id="Ellipse2" d="M 104 7.5 C 104 6.6716 104.4477 6 105 6 C 105.5523 6 106 6.6716 106 7.5 C 106 8.3284 105.5523 9 105 9 C 104.4477 9 104 8.3284 104 7.5 Z" fill="#ffffff"/> <path id="Ellipse3" d="M 108 3.5 C 108 2.6716 108.4477 2 109 2 C 109.5523 2 110 2.6716 110 3.5 C 110 4.3284 109.5523 5 109 5 C 108.4477 5 108 4.3284 108 3.5 Z" fill="#ffffff"/> </g> <g id="backlight"> <g id="off"> <rect x="83" y="21" width="10" height="6" stroke="#ffffff" stroke-width="1" fill="#333333"/> </g> <g id="on"> <path id="Ellipse4" d="M 81 8 C 81 5.2385 84.134 3 88 3 C 91.866 3 95 5.2385 95 8 C 95 10.7615 91.866 13 88 13 C 84.134 13 81 10.7615 81 8 Z" fill="url(#gradient1)"/> <rect x="83" y="5" width="10" height="6" stroke="#ffffff" stroke-width="1" fill="#333333"/> </g> </g> <g id="loop"> <g id="on2"> <path d="M 73.795 4.205 C 75.2155 4.8785 76.2 6.3234 76.2 8 C 76.2 10.3196 74.3196 12.2 72 12.2 C 69.6804 12.2 67.8 10.3196 67.8 8 C 67.8 6.3234 68.7845 4.8785 70.205 4.205 L 68.875 2.875 C 67.1501 3.9289 66 5.8306 66 8 C 66 11.3138 68.6862 14 72 14 C 75.3138 14 78 11.3138 78 8 C 78 5.8306 76.8499 3.9289 75.125 2.875 L 73.795 4.205 Z" fill="url(#gradient2)"/> <path d="M 71 2 L 66 2 L 71 7 L 71 2 Z" fill="url(#gradient3)"/> </g> <g id="off2"> <path d="M 73.795 20.205 C 75.2155 20.8785 76.2 22.3234 76.2 24 C 76.2 26.3196 74.3196 28.2 72 28.2 C 69.6804 28.2 67.8 26.3196 67.8 24 C 67.8 22.3234 68.7845 20.8785 70.205 20.205 L 68.875 18.875 C 67.1501 19.9289 66 21.8306 66 24 C 66 27.3138 68.6862 30 72 30 C 75.3138 30 78 27.3138 78 24 C 78 21.8306 76.8499 19.9289 75.125 18.875 L 73.795 20.205 Z" fill="#a8a8b7"/> <path d="M 71 18 L 66 18 L 71 23 L 71 18 Z" fill="#a8a8b7"/> </g> </g> <g id="cc"> <rect visibility="hidden" x="49" y="2" width="14" height="12" stroke="#b0b0b0" stroke-width="1" fill="none"/> <text visibility="hidden" x="49" y="17" width="14" fill="#ffffff" style="font-size: 10px; color: #ffffff; font-family: Arial; text-align: center; "><tspan><![CDATA[cc]]></tspan></text> <path d="M 55 7 C 50.2813 3.7813 50.063 12.9405 55 10 " stroke="#ffffff" stroke-width="1" fill="none"/> <path d="M 60 7 C 55.2813 3.7813 55.063 12.9405 60 10 " stroke="#ffffff" stroke-width="1" fill="none"/> <path d="M 50 3 L 62 3 L 62 13 L 50 13 L 50 3 ZM 49 2 L 49 14 L 63 14 L 63 2 L 49 2 Z" fill="url(#gradient4)"/> <rect x="49" y="2" width="14" height="12" fill="none"/> </g> <g id="volume"> <g id="no%20sound"> <rect x="17" y="5" width="5" height="6" fill="url(#gradient5)"/> <path d="M 21 5 L 25 2 L 25 14 L 21 11.0625 L 21 5 Z" fill="url(#gradient6)"/> </g> <g id="sound%20bars"> <rect x="17" y="21" width="5" height="6" fill="url(#gradient7)"/> <path d="M 21 21 L 25 18 L 25 30 L 21 27.0625 L 21 21 Z" fill="url(#gradient8)"/> <path d="M 27 18 C 27 18 30.0625 17.375 30 24 C 29.9375 30.625 27 30 27 30 " stroke="#ffffff" stroke-width="1" fill="none"/> <path d="M 26 21.0079 C 26 21.0079 28.041 20.6962 27.9994 24 C 27.9577 27.3038 26 26.9921 26 26.9921 " stroke="#ffffff" stroke-width="1" fill="none"/> </g> </g> <g id="play/pause"> <g id="play"> <path id="Polygon" d="M 14 8.5 L 3 14 L 3 3 L 14 8.5 Z" fill="url(#gradient9)"/> </g> <g id="pause"> <rect x="3" y="18" width="3" height="12" fill="url(#gradient10)"/> <rect x="10" y="18" width="3" height="12" fill="url(#gradient11)"/> </g> </g> <g id="fullscreen"> <g id="enter%201"> <path d="M 34 2 L 39 2 L 34 7 L 34 2 Z" fill="url(#gradient12)"/> <path d="M 34 14 L 39 14 L 34 9 L 34 14 Z" fill="url(#gradient13)"/> <path d="M 46 2 L 41 2 L 46 7 L 46 2 Z" fill="url(#gradient14)"/> <path d="M 46 14 L 41 14 L 46 9 L 46 14 Z" fill="url(#gradient15)"/> </g> <g id="exit"> <path d="M 42 22 L 46 22 L 42 18 L 42 22 Z" fill="url(#gradient16)"/> <path d="M 38 22 L 38 18 L 34 22 L 38 22 Z" fill="url(#gradient17)"/> <path d="M 38 26 L 34 26 L 38 30 L 38 26 Z" fill="url(#gradient18)"/> <path d="M 42 26 L 42 30 L 46 26 L 42 26 Z" fill="url(#gradient19)"/> </g> </g> <g id="stop"> <rect x="115" y="3" width="10" height="10" fill="url(#gradient20)"/> </g> <g id="chooser"> <path d="M 135.2346 6.1522 C 136.2551 5.7295 137.4251 6.2141 137.8478 7.2346 C 138.2704 8.2551 137.7859 9.425 136.7654 9.8478 C 135.7449 10.2705 134.5749 9.7859 134.1522 8.7654 C 133.7295 7.7449 134.2141 6.5749 135.2346 6.1522 ZM 133.2735 1.4176 L 136 4.0054 L 138.7265 1.4176 L 138.8246 5.1754 L 142.5824 5.2735 L 139.9946 8 L 142.5824 10.7265 L 138.8246 10.8246 L 138.7265 14.5824 L 136 11.9946 L 133.2735 14.5824 L 133.1754 10.8246 L 129.4176 10.7265 L 132.0054 8 L 129.4176 5.2735 L 133.1754 5.1754 L 133.2735 1.4176 Z" fill="url(#gradient21)"/> </g></svg>
\ No newline at end of file
src/main/webapp/static/movie/mediaelementjs/features/source-chooser/settings.png

1.15 KiB

<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" x="0" y="0" width="17" height="17" viewBox="0 0 16.91 17.1"><defs><style>.cls-1{fill:#fff;}</style></defs><title>3</title><g id="settings"><path class="cls-1" d="M58.5,9.6a1.19,1.19,0,0,0-1-1.2l-1.8-.5a0.76,0.76,0,0,1-.6-0.8c0-.1.1-0.2,0.1-0.3l1-1.6A1.38,1.38,0,0,0,56,3.6h0a1.36,1.36,0,0,0-1.6-.2l-1.6,1a0.68,0.68,0,0,1-1-.2,0.37,0.37,0,0,1-.1-0.3L51.3,2a1.36,1.36,0,0,0-1.2-1h0a1.19,1.19,0,0,0-1.2,1L48.4,3.8a0.76,0.76,0,0,1-.8.6c-0.1,0-.2-0.1-0.3-0.1l-1.6-1a1.38,1.38,0,0,0-1.6.2h0a1.36,1.36,0,0,0-.2,1.6l1,1.6a0.68,0.68,0,0,1-.2,1,0.37,0.37,0,0,1-.3.1l-1.8.5a1.36,1.36,0,0,0-1,1.2h0a1.19,1.19,0,0,0,1,1.2l1.8,0.5a0.76,0.76,0,0,1,.6.8c0,0.1-.1.2-0.1,0.3l-1,1.6a1.38,1.38,0,0,0,.2,1.6h0a1.36,1.36,0,0,0,1.6.2l1.6-1a0.68,0.68,0,0,1,1,.2,0.37,0.37,0,0,1,.1.3l0.5,1.9a1.36,1.36,0,0,0,1.2,1h0a1.19,1.19,0,0,0,1.2-1l0.5-1.9a0.76,0.76,0,0,1,.8-0.6c0.1,0,.2.1,0.3,0.1l1.6,1a1.38,1.38,0,0,0,1.6-.2h0a1.36,1.36,0,0,0,.2-1.6l-1-1.6a0.68,0.68,0,0,1,.2-1,0.37,0.37,0,0,1,.3-0.1l1.8-.5a1.07,1.07,0,0,0,.9-1.1h0Zm-5.6,0a2.8,2.8,0,0,1-2.8,2.8,2.86,2.86,0,0,1-2.8-2.8,2.86,2.86,0,0,1,2.8-2.8h0a2.73,2.73,0,0,1,2.8,2.8h0Z" transform="translate(-41.6 -1)"/></g></svg>
\ No newline at end of file
'use strict';
if (mejs.i18n.ca !== undefined) {
// mejs.i18n.ca["mejs.source-chooser"]= "Source Chooser";
}
if (mejs.i18n.cs !== undefined) {
// mejs.i18n.cs["mejs.source-chooser"]= "Source Chooser";
}
if (mejs.i18n.de !== undefined) {
mejs.i18n.de["mejs.source-chooser"]= "Quellenauswahl";
}
if (mejs.i18n.es !== undefined) {
mejs.i18n.es["mejs.source-chooser"]= "Selector de media";
}
if (mejs.i18n.fr !== undefined) {
mejs.i18n.fr["mejs.source-chooser"]= "Sélecteur de média";
}
if (mejs.i18n.hr !== undefined) {
mejs.i18n.hr["mejs.source-chooser"]= "Obabir izvora";
}
if (mejs.i18n.hu !== undefined) {
//mejs.i18n.hu["mejs.source-chooser"]= "Source Chooser";
}
if (mejs.i18n.it !== undefined) {
//mejs.i18n.it["mejs.source-chooser"]= "Source Chooser";
}
if (mejs.i18n.ja !== undefined) {
//mejs.i18n.ja["mejs.source-chooser"]= "Source Chooser";
}
if (mejs.i18n.ko !== undefined) {
//mejs.i18n.ko["mejs.source-chooser"]= "Source Chooser";
}
if (mejs.i18n.nl !== undefined) {
mejs.i18n.nl["mejs.source-chooser"]= "Bronkeuze";
}
if (mejs.i18n.pl !== undefined) {
mejs.i18n.pl["mejs.source-chooser"]= "Wybór źródła";
}
if (mejs.i18n.pt !== undefined) {
//mejs.i18n.pt["mejs.source-chooser"]= "Source Chooser";
}
if (mejs.i18n['pt-BR'] !== undefined) {
//mejs.i18n['pt-BR']["mejs.source-chooser"]= "Source Chooser";
}
if (mejs.i18n.ro !== undefined) {
//mejs.i18n.ro["mejs.source-chooser"]= "Source Chooser";
}
if (mejs.i18n.ru !== undefined) {
mejs.i18n.ru["mejs.source-chooser"]= "Переключатель источника";
}
if (mejs.i18n.sk !== undefined) {
// mejs.i18n.sk["mejs.source-chooser"]= "Source Chooser";
}
if (mejs.i18n.sv !== undefined) {
mejs.i18n.sv["mejs.source-chooser"]= "Välj källa";
}
if (mejs.i18n.uk !== undefined) {
mejs.i18n.uk["mejs.source-chooser"]= "Вибір джерела";
}
if (mejs.i18n.zh !== undefined) {
//mejs.i18n.zh["mejs.source-chooser"]= "Source Chooser";
}
if (mejs.i18n['zh-CN'] !== undefined) {
//mejs.i18n['zh-CN']["mejs.source-chooser"]= "Source Chooser";
}
\ No newline at end of file
"use strict";if(mejs.i18n.ca!==undefined){}if(mejs.i18n.cs!==undefined){}if(mejs.i18n.de!==undefined){mejs.i18n.de["mejs.source-chooser"]="Quellenauswahl"}if(mejs.i18n.es!==undefined){mejs.i18n.es["mejs.source-chooser"]="Selector de media"}if(mejs.i18n.fr!==undefined){mejs.i18n.fr["mejs.source-chooser"]="Sélecteur de média"}if(mejs.i18n.hr!==undefined){mejs.i18n.hr["mejs.source-chooser"]="Obabir izvora"}if(mejs.i18n.hu!==undefined){}if(mejs.i18n.it!==undefined){}if(mejs.i18n.ja!==undefined){}if(mejs.i18n.ko!==undefined){}if(mejs.i18n.nl!==undefined){mejs.i18n.nl["mejs.source-chooser"]="Bronkeuze"}if(mejs.i18n.pl!==undefined){mejs.i18n.pl["mejs.source-chooser"]="Wybór źródła"}if(mejs.i18n.pt!==undefined){}if(mejs.i18n["pt-BR"]!==undefined){}if(mejs.i18n.ro!==undefined){}if(mejs.i18n.ru!==undefined){mejs.i18n.ru["mejs.source-chooser"]="Переключатель источника"}if(mejs.i18n.sk!==undefined){}if(mejs.i18n.sv!==undefined){mejs.i18n.sv["mejs.source-chooser"]="Välj källa"}if(mejs.i18n.uk!==undefined){mejs.i18n.uk["mejs.source-chooser"]="Вибір джерела"}if(mejs.i18n.zh!==undefined){}if(mejs.i18n["zh-CN"]!==undefined){};
\ No newline at end of file
.mejs__sourcechooser-button, .mejs-sourcechooser-button {
position: relative;
}
.mejs__sourcechooser-button > button, .mejs-sourcechooser-button > button {
background: url("settings.svg") transparent no-repeat;
background-position: 0 1px;
}
.mejs__sourcechooser-button .mejs__sourcechooser-selector, .mejs-sourcechooser-button .mejs-sourcechooser-selector {
position: absolute;
bottom: 40px;
right: -10px;
width: 130px;
height: 100px;
background: rgba(50,50,50,0.7);
border: solid 1px transparent;
padding: 0;
overflow: hidden;
border-radius: 0;
}
.mejs__sourcechooser-selector ul, .mejs-sourcechooser-selector ul {
margin: 0;
padding: 0;
display: block;
list-style-type: none !important;
overflow: hidden;
}
.mejs__sourcechooser-selector li, .mejs-sourcechooser-selector li {
margin: 0;
padding: 5px 0;
list-style-type: none !important;
display: block;
color: #fff;
overflow: hidden;
}
.mejs__sourcechooser-selector li:hover, .mejs-sourcechooser-selector li:hover {
cursor: pointer;
background-color: rgba(255, 255, 255, .2);
}
.mejs__sourcechooser-selector input, .mejs-sourcechooser-selector input {
clear: both;
float: left;
margin: 3px 3px 0 0;
}
.mejs__sourcechooser-selector label, .mejs-sourcechooser-selector label {
width: 100px;
display: inline-block;
float: left;
padding: 4px 0 0 0;
line-height: 15px;
font-size: 12px;
}
\ No newline at end of file
(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';
/**
* Source chooser button
*
* This feature creates a button to speed media in different levels.
*/
// Translations (English required)
mejs.i18n.en["mejs.source-chooser"] = "Source Chooser";
// Feature configuration
Object.assign(mejs.MepDefaults, {
/**
* @type {?String}
*/
sourcechooserText: null
});
Object.assign(MediaElementPlayer.prototype, {
/**
* Feature constructor.
*
* Always has to be prefixed with `build` and the name that will be used in MepDefaults.features list
* @param {MediaElementPlayer} player
* @param {HTMLElement} controls
* @param {HTMLElement} layers
* @param {HTMLElement} media
*/
buildsourcechooser: function buildsourcechooser(player, controls, layers, media) {
var t = this,
sourceTitle = mejs.Utils.isString(t.options.sourcechooserText) ? t.options.sourcechooserText : mejs.i18n.t('mejs.source-chooser'),
sources = [],
children = t.mediaFiles ? t.mediaFiles : t.node.childNodes;
// add to list
var hoverTimeout = void 0;
for (var i = 0, total = children.length; i < total; i++) {
var s = children[i];
if (t.mediaFiles) {
sources.push(s);
} else if (s.nodeName === 'SOURCE') {
sources.push(s);
}
}
if (sources.length <= 1) {
return;
}
player.sourcechooserButton = document.createElement('div');
player.sourcechooserButton.className = t.options.classPrefix + "button " + t.options.classPrefix + "sourcechooser-button";
player.sourcechooserButton.innerHTML = "<button type=\"button\" role=\"button\" aria-haspopup=\"true\" aria-owns=\"" + t.id + "\" title=\"" + sourceTitle + "\" aria-label=\"" + sourceTitle + "\" tabindex=\"0\"></button>" + ("<div class=\"" + t.options.classPrefix + "sourcechooser-selector " + t.options.classPrefix + "offscreen\" role=\"menu\" aria-expanded=\"false\" aria-hidden=\"true\"><ul></ul></div>");
t.addControlElement(player.sourcechooserButton, 'sourcechooser');
for (var _i = 0, _total = sources.length; _i < _total; _i++) {
var src = sources[_i];
if (src.type !== undefined && typeof media.canPlayType === 'function') {
player.addSourceButton(src.src, src.title, src.type, media.src === src.src);
}
}
// hover
player.sourcechooserButton.addEventListener('mouseover', function () {
clearTimeout(hoverTimeout);
player.showSourcechooserSelector();
});
player.sourcechooserButton.addEventListener('mouseout', function () {
hoverTimeout = setTimeout(function () {
player.hideSourcechooserSelector();
}, 0);
});
// keyboard menu activation
player.sourcechooserButton.addEventListener('keydown', function (e) {
if (t.options.keyActions.length) {
var keyCode = e.which || e.keyCode || 0;
switch (keyCode) {
case 32:
// space
if (!mejs.MediaFeatures.isFirefox) {
// space sends the click event in Firefox
player.showSourcechooserSelector();
}
player.sourcechooserButton.querySelector('input[type=radio]:checked').focus();
break;
case 13:
// enter
player.showSourcechooserSelector();
player.sourcechooserButton.querySelector('input[type=radio]:checked').focus();
break;
case 27:
// esc
player.hideSourcechooserSelector();
player.sourcechooserButton.querySelector('button').focus();
break;
default:
return true;
}
e.preventDefault();
e.stopPropagation();
}
});
// close menu when tabbing away
player.sourcechooserButton.addEventListener('focusout', mejs.Utils.debounce(function () {
// Safari triggers focusout multiple times
// Firefox does NOT support e.relatedTarget to see which element
// just lost focus, so wait to find the next focused element
setTimeout(function () {
var parent = document.activeElement.closest("." + t.options.classPrefix + "sourcechooser-selector");
if (!parent) {
// focus is outside the control; close menu
player.hideSourcechooserSelector();
}
}, 0);
}, 100));
var radios = player.sourcechooserButton.querySelectorAll('input[type=radio]');
for (var _i2 = 0, _total2 = radios.length; _i2 < _total2; _i2++) {
// handle clicks to the source radio buttons
radios[_i2].addEventListener('click', function () {
// set aria states
this.setAttribute('aria-selected', true);
this.checked = true;
var otherRadios = this.closest("." + t.options.classPrefix + "sourcechooser-selector").querySelectorAll('input[type=radio]');
for (var j = 0, radioTotal = otherRadios.length; j < radioTotal; j++) {
if (otherRadios[j] !== this) {
otherRadios[j].setAttribute('aria-selected', 'false');
otherRadios[j].removeAttribute('checked');
}
}
var src = this.value;
if (media.getSrc() !== src) {
var currentTime = media.currentTime;
var paused = media.paused,
canPlayAfterSourceSwitchHandler = function canPlayAfterSourceSwitchHandler() {
if (!paused) {
media.setCurrentTime(currentTime);
media.play();
}
media.removeEventListener('canplay', canPlayAfterSourceSwitchHandler);
};
media.pause();
media.setSrc(src);
media.load();
media.addEventListener('canplay', canPlayAfterSourceSwitchHandler);
}
});
}
// Handle click so that screen readers can toggle the menu
player.sourcechooserButton.querySelector('button').addEventListener('click', function () {
if (mejs.Utils.hasClass(mejs.Utils.siblings(this, "." + t.options.classPrefix + "sourcechooser-selector"), t.options.classPrefix + "offscreen")) {
player.showSourcechooserSelector();
player.sourcechooserButton.querySelector('input[type=radio]:checked').focus();
} else {
player.hideSourcechooserSelector();
}
});
},
/**
*
* @param {String} src
* @param {String} label
* @param {String} type
* @param {Boolean} isCurrent
*/
addSourceButton: function addSourceButton(src, label, type, isCurrent) {
var t = this;
if (label === '' || label === undefined) {
label = src;
}
type = type.split('/')[1];
t.sourcechooserButton.querySelector('ul').innerHTML += "<li>" + ("<input type=\"radio\" name=\"" + t.id + "_sourcechooser\" id=\"" + t.id + "_sourcechooser_" + label + type + "\" ") + ("role=\"menuitemradio\" value=\"" + src + "\" " + (isCurrent ? 'checked="checked"' : '') + " aria-selected=\"" + isCurrent + "\"/>") + ("<label for=\"" + t.id + "_sourcechooser_" + label + type + "\" aria-hidden=\"true\">" + label + " (" + type + ")</label>") + "</li>";
t.adjustSourcechooserBox();
},
/**
*
*/
adjustSourcechooserBox: function adjustSourcechooserBox() {
var t = this;
// adjust the size of the outer box
t.sourcechooserButton.querySelector("." + t.options.classPrefix + "sourcechooser-selector").style.height = parseFloat(t.sourcechooserButton.querySelector("." + t.options.classPrefix + "sourcechooser-selector ul").offsetHeight) + "px";
},
/**
*
*/
hideSourcechooserSelector: function hideSourcechooserSelector() {
var t = this;
if (t.sourcechooserButton === undefined || !t.sourcechooserButton.querySelector('input[type=radio]')) {
return;
}
var selector = t.sourcechooserButton.querySelector("." + t.options.classPrefix + "sourcechooser-selector"),
radios = selector.querySelectorAll('input[type=radio]');
selector.setAttribute('aria-expanded', 'false');
selector.setAttribute('aria-hidden', 'true');
mejs.Utils.addClass(selector, t.options.classPrefix + "offscreen");
// make radios not focusable
for (var i = 0, total = radios.length; i < total; i++) {
radios[i].setAttribute('tabindex', '-1');
}
},
/**
*
*/
showSourcechooserSelector: function showSourcechooserSelector() {
var t = this;
if (t.sourcechooserButton === undefined || !t.sourcechooserButton.querySelector('input[type=radio]')) {
return;
}
var selector = t.sourcechooserButton.querySelector("." + t.options.classPrefix + "sourcechooser-selector"),
radios = selector.querySelectorAll('input[type=radio]');
selector.setAttribute('aria-expanded', 'true');
selector.setAttribute('aria-hidden', 'false');
mejs.Utils.removeClass(selector, t.options.classPrefix + "offscreen");
// make radios not focusable
for (var i = 0, total = radios.length; i < total; i++) {
radios[i].setAttribute('tabindex', '0');
}
}
});
},{}]},{},[1]);
.mejs__sourcechooser-button,.mejs-sourcechooser-button{position:relative}.mejs__sourcechooser-button>button,.mejs-sourcechooser-button>button{background:url("settings.svg") transparent no-repeat;background-position:0 1px}.mejs__sourcechooser-button .mejs__sourcechooser-selector,.mejs-sourcechooser-button .mejs-sourcechooser-selector{position:absolute;bottom:40px;right:-10px;width:130px;height:100px;background:rgba(50,50,50,0.7);border:solid 1px transparent;padding:0;overflow:hidden;border-radius:0}.mejs__sourcechooser-selector ul,.mejs-sourcechooser-selector ul{margin:0;padding:0;display:block;list-style-type:none!important;overflow:hidden}.mejs__sourcechooser-selector li,.mejs-sourcechooser-selector li{margin:0;padding:5px 0;list-style-type:none!important;display:block;color:#fff;overflow:hidden}.mejs__sourcechooser-selector li:hover,.mejs-sourcechooser-selector li:hover{cursor:pointer;background-color:rgba(255,255,255,.2)}.mejs__sourcechooser-selector input,.mejs-sourcechooser-selector input{clear:both;float:left;margin:3px 3px 0 0}.mejs__sourcechooser-selector label,.mejs-sourcechooser-selector label{width:100px;display:inline-block;float:left;padding:4px 0 0 0;line-height:15px;font-size:12px}
\ No newline at end of file
(function e(b,g,d){function c(m,j){if(!g[m]){if(!b[m]){var i=typeof require=="function"&&require;if(!j&&i){return i(m,!0)}if(a){return a(m,!0)}var k=new Error("Cannot find module '"+m+"'");throw k.code="MODULE_NOT_FOUND",k}var h=g[m]={exports:{}};b[m][0].call(h.exports,function(l){var o=b[m][1][l];return c(o?o:l)},h,h.exports,e,b,g,d)}return g[m].exports}var a=typeof require=="function"&&require;for(var f=0;f<d.length;f++){c(d[f])}return c})({1:[function(i,h,f){mejs.i18n.en["mejs.source-chooser"]="Source Chooser";Object.assign(mejs.MepDefaults,{sourcechooserText:null});Object.assign(MediaElementPlayer.prototype,{buildsourcechooser:function c(y,w,q,o){var u=this,B=mejs.Utils.isString(u.options.sourcechooserText)?u.options.sourcechooserText:mejs.i18n.t("mejs.source-chooser"),j=[],n=u.mediaFiles?u.mediaFiles:u.node.childNodes;var r=void 0;for(var A=0,C=n.length;A<C;A++){var v=n[A];if(u.mediaFiles){j.push(v)}else{if(v.nodeName==="SOURCE"){j.push(v)}}}if(j.length<=1){return}y.sourcechooserButton=document.createElement("div");y.sourcechooserButton.className=u.options.classPrefix+"button "+u.options.classPrefix+"sourcechooser-button";y.sourcechooserButton.innerHTML='<button type="button" role="button" aria-haspopup="true" aria-owns="'+u.id+'" title="'+B+'" aria-label="'+B+'" tabindex="0"></button>'+('<div class="'+u.options.classPrefix+"sourcechooser-selector "+u.options.classPrefix+'offscreen" role="menu" aria-expanded="false" aria-hidden="true"><ul></ul></div>');u.addControlElement(y.sourcechooserButton,"sourcechooser");for(var k=0,x=j.length;k<x;k++){var p=j[k];if(p.type!==undefined&&typeof o.canPlayType==="function"){y.addSourceButton(p.src,p.title,p.type,o.src===p.src)}}y.sourcechooserButton.addEventListener("mouseover",function(){clearTimeout(r);y.showSourcechooserSelector()});y.sourcechooserButton.addEventListener("mouseout",function(){r=setTimeout(function(){y.hideSourcechooserSelector()},0)});y.sourcechooserButton.addEventListener("keydown",function(t){if(u.options.keyActions.length){var s=t.which||t.keyCode||0;switch(s){case 32:if(!mejs.MediaFeatures.isFirefox){y.showSourcechooserSelector()}y.sourcechooserButton.querySelector("input[type=radio]:checked").focus();break;case 13:y.showSourcechooserSelector();y.sourcechooserButton.querySelector("input[type=radio]:checked").focus();break;case 27:y.hideSourcechooserSelector();y.sourcechooserButton.querySelector("button").focus();break;default:return true}t.preventDefault();t.stopPropagation()}});y.sourcechooserButton.addEventListener("focusout",mejs.Utils.debounce(function(){setTimeout(function(){var s=document.activeElement.closest("."+u.options.classPrefix+"sourcechooser-selector");if(!s){y.hideSourcechooserSelector()}},0)},100));var l=y.sourcechooserButton.querySelectorAll("input[type=radio]");for(var m=0,z=l.length;m<z;m++){l[m].addEventListener("click",function(){this.setAttribute("aria-selected",true);this.checked=true;var F=this.closest("."+u.options.classPrefix+"sourcechooser-selector").querySelectorAll("input[type=radio]");for(var D=0,s=F.length;D<s;D++){if(F[D]!==this){F[D].setAttribute("aria-selected","false");F[D].removeAttribute("checked")}}var H=this.value;if(o.getSrc()!==H){var G=o.currentTime;var E=o.paused,t=function t(){if(!E){o.setCurrentTime(G);o.play()}o.removeEventListener("canplay",t)};o.pause();o.setSrc(H);o.load();o.addEventListener("canplay",t)}})}y.sourcechooserButton.querySelector("button").addEventListener("click",function(){if(mejs.Utils.hasClass(mejs.Utils.siblings(this,"."+u.options.classPrefix+"sourcechooser-selector"),u.options.classPrefix+"offscreen")){y.showSourcechooserSelector();y.sourcechooserButton.querySelector("input[type=radio]:checked").focus()}else{y.hideSourcechooserSelector()}})},addSourceButton:function d(n,k,m,j){var l=this;if(k===""||k===undefined){k=n}m=m.split("/")[1];l.sourcechooserButton.querySelector("ul").innerHTML+="<li>"+('<input type="radio" name="'+l.id+'_sourcechooser" id="'+l.id+"_sourcechooser_"+k+m+'" ')+('role="menuitemradio" value="'+n+'" '+(j?'checked="checked"':"")+' aria-selected="'+j+'"/>')+('<label for="'+l.id+"_sourcechooser_"+k+m+'" aria-hidden="true">'+k+" ("+m+")</label>")+"</li>";l.adjustSourcechooserBox()},adjustSourcechooserBox:function b(){var j=this;j.sourcechooserButton.querySelector("."+j.options.classPrefix+"sourcechooser-selector").style.height=parseFloat(j.sourcechooserButton.querySelector("."+j.options.classPrefix+"sourcechooser-selector ul").offsetHeight)+"px"},hideSourcechooserSelector:function a(){var l=this;if(l.sourcechooserButton===undefined||!l.sourcechooserButton.querySelector("input[type=radio]")){return}var j=l.sourcechooserButton.querySelector("."+l.options.classPrefix+"sourcechooser-selector"),n=j.querySelectorAll("input[type=radio]");j.setAttribute("aria-expanded","false");j.setAttribute("aria-hidden","true");mejs.Utils.addClass(j,l.options.classPrefix+"offscreen");for(var k=0,m=n.length;k<m;k++){n[k].setAttribute("tabindex","-1")}},showSourcechooserSelector:function g(){var l=this;if(l.sourcechooserButton===undefined||!l.sourcechooserButton.querySelector("input[type=radio]")){return}var j=l.sourcechooserButton.querySelector("."+l.options.classPrefix+"sourcechooser-selector"),n=j.querySelectorAll("input[type=radio]");j.setAttribute("aria-expanded","true");j.setAttribute("aria-hidden","false");mejs.Utils.removeClass(j,l.options.classPrefix+"offscreen");for(var k=0,m=n.length;k<m;k++){n[k].setAttribute("tabindex","0")}}})},{}]},{},[1]);
\ No newline at end of file
'use strict';
if (mejs.i18n.ca !== undefined) {
// mejs.i18n.ca["mejs.speed-rate"] = "Speed Rate";
}
if (mejs.i18n.cs !== undefined) {
// mejs.i18n.cs["mejs.speed-rate"] = "Speed Rate";
}
if (mejs.i18n.de !== undefined) {
mejs.i18n.de["mejs.speed-rate"] = "Geschwindigkeitsrate";
}
if (mejs.i18n.es !== undefined) {
mejs.i18n.es["mejs.speed-rate"] = "Tasa de velocidad";
}
if (mejs.i18n.fr !== undefined) {
mejs.i18n.fr["mejs.speed-rate"] = "Vitesse";
}
if (mejs.i18n.hr !== undefined) {
mejs.i18n.hr["mejs.speed-rate"] = "Brzina reprodukcije";
}
if (mejs.i18n.hu !== undefined) {
//mejs.i18n.hu["mejs.speed-rate"] = "Speed Rate";
}
if (mejs.i18n.it !== undefined) {
//mejs.i18n.it["mejs.speed-rate"] = "Speed Rate";
}
if (mejs.i18n.ja !== undefined) {
//mejs.i18n.ja["mejs.speed-rate"] = "Speed Rate";
}
if (mejs.i18n.ko !== undefined) {
//mejs.i18n.ko["mejs.speed-rate"] = "Speed Rate";
}
if (mejs.i18n.nl !== undefined) {
// mejs.i18n.nl["mejs.speed-rate"] = "Speed Rate";
}
if (mejs.i18n.pl !== undefined) {
mejs.i18n.pl["mejs.speed-rate"] = "Prędkość";
}
if (mejs.i18n.pt !== undefined) {
//mejs.i18n.pt["mejs.speed-rate"] = "Speed Rate";
}
if (mejs.i18n['pt-BR'] !== undefined) {
//mejs.i18n['pt-BR']["mejs.speed-rate"] = "Speed Rate";
}
if (mejs.i18n.ro !== undefined) {
//mejs.i18n.ro["mejs.speed-rate"] = "Speed Rate";
}
if (mejs.i18n.ru !== undefined) {
mejs.i18n.ru["mejs.speed-rate"] = "Скорость воспроизведения";
}
if (mejs.i18n.sk !== undefined) {
//mejs.i18n.sk["mejs.speed-rate"] = "Speed Rate";
}
if (mejs.i18n.sv !== undefined) {
mejs.i18n.sv["mejs.speed-rate"] = "Hastighet";
}
if (mejs.i18n.uk !== undefined) {
mejs.i18n.uk["mejs.speed-rate"] = "Швидкість відтворення";
}
if (mejs.i18n.zh !== undefined) {
//mejs.i18n.zh["mejs.speed-rate"] = "Speed Rate";
}
if (mejs.i18n['zh-CN'] !== undefined) {
//mejs.i18n['zh-CN']["mejs.speed-rate"] = "Speed Rate";
}
\ No newline at end of file
"use strict";if(mejs.i18n.ca!==undefined){}if(mejs.i18n.cs!==undefined){}if(mejs.i18n.de!==undefined){mejs.i18n.de["mejs.speed-rate"]="Geschwindigkeitsrate"}if(mejs.i18n.es!==undefined){mejs.i18n.es["mejs.speed-rate"]="Tasa de velocidad"}if(mejs.i18n.fr!==undefined){mejs.i18n.fr["mejs.speed-rate"]="Vitesse"}if(mejs.i18n.hr!==undefined){mejs.i18n.hr["mejs.speed-rate"]="Brzina reprodukcije"}if(mejs.i18n.hu!==undefined){}if(mejs.i18n.it!==undefined){}if(mejs.i18n.ja!==undefined){}if(mejs.i18n.ko!==undefined){}if(mejs.i18n.nl!==undefined){}if(mejs.i18n.pl!==undefined){mejs.i18n.pl["mejs.speed-rate"]="Prędkość"}if(mejs.i18n.pt!==undefined){}if(mejs.i18n["pt-BR"]!==undefined){}if(mejs.i18n.ro!==undefined){}if(mejs.i18n.ru!==undefined){mejs.i18n.ru["mejs.speed-rate"]="Скорость воспроизведения"}if(mejs.i18n.sk!==undefined){}if(mejs.i18n.sv!==undefined){mejs.i18n.sv["mejs.speed-rate"]="Hastighet"}if(mejs.i18n.uk!==undefined){mejs.i18n.uk["mejs.speed-rate"]="Швидкість відтворення"}if(mejs.i18n.zh!==undefined){}if(mejs.i18n["zh-CN"]!==undefined){};
\ No newline at end of file
.mejs__speed-button, .mejs-speed-button {
position: relative;
}
.mejs__speed-button > button, .mejs-speed-button > button {
background: transparent;
width: 36px;
margin: 11px 0 0 0;
font-size: 11px;
line-height: normal;
color: #ffffff;
}
.mejs__speed-selector, .mejs-speed-selector {
visibility: hidden;
position: absolute;
top: -100px;
left: -10px;
width: 60px;
height: 100px;
background: rgba(50, 50, 50, 0.7);
border: solid 1px transparent;
padding: 0;
overflow: hidden;
border-radius: 0;
}
.mejs__speed-selector, .mejs-speed-selector {
visibility: visible;
}
.mejs__speed-selector-list, .mejs-speed-selector-list {
margin: 0;
padding: 0;
display: block;
list-style-type: none !important;
overflow: hidden;
}
.mejs__speed-selector-list-item, .mejs-speed-selector-list-item {
margin: 0 0 6px 0;
padding: 0 10px;
list-style-type: none !important;
display: block;
color: #fff;
overflow: hidden;
}
.mejs__speed-selector-list-item:hover, .mejs-speed-selector-list-item:hover {
background-color: rgb(200, 200, 200) !important;
background-color: rgba(255, 255, 255, 0.4) !important;
}
.mejs__speed-selector-input, .mejs-speed-selector-input {
clear: both;
float: left;
margin: 3px 3px 0 5px;
position: absolute;
left: -1000px;
}
.mejs__speed-selector-label, .mejs-speed-selector-label {
width: 60px;
float: left;
padding: 4px 0 0 0;
line-height: 15px;
font-size: 11px;
color: white;
margin-left: 5px;
cursor: pointer;
}
.mejs__speed-selected, .mejs-speed-selected {
color: rgba(33, 248, 248, 1);
}
.mejs__speed-selector, .mejs-speed-selector {
visibility: hidden;
}
.mejs__speed-button:hover .mejs__speed-selector, .mejs-speed-button:hover .mejs-speed-selector {
visibility: visible;
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment