Compare commits
11 Commits
Author | SHA1 | Date | |
---|---|---|---|
45d4091c20 | |||
60c53a5894 | |||
032c823d3a | |||
66f724a3be | |||
bf0c81b484 | |||
aa72a17f44 | |||
8825e82634 | |||
f700d50dc8 | |||
a585270d21 | |||
7a23dda294 | |||
f3c324038f |
@ -1,5 +1,14 @@
|
||||
# Changelog
|
||||
|
||||
# v1.3.3
|
||||
- Removed captions being read by screen readers
|
||||
|
||||
# v1.3.2
|
||||
- Voiceover fix for captions
|
||||
|
||||
# v1.3.1
|
||||
- ARIA improvements for captions being read
|
||||
|
||||
# v1.3.0
|
||||
- Internationalization support (i18n) using default controls (required markup changes to controls)
|
||||
- ARIA enhancements for controls (required markup changes to controls)
|
||||
|
@ -88,14 +88,14 @@ This is an example `html` option with all controls.
|
||||
"</span>",
|
||||
"</span>",
|
||||
"<span class='player-controls-right'>",
|
||||
"<button type="button" data-player="mute">",
|
||||
"<button type='button' data-player='mute'>",
|
||||
"<svg class='icon-muted'><use xlink:href='#icon-muted'></use></svg>",
|
||||
"<svg><use xlink:href='#icon-volume'></use></svg>",
|
||||
"<span class='sr-only'>Toggle Mute</span>",
|
||||
"</button>",
|
||||
"<label for='volume{id}' class='sr-only'>Volume</label>",
|
||||
"<input id='volume{id}' class='player-volume' type='range' min='0' max='10' value='5' data-player='volume'>",
|
||||
"<button type="button" data-player="captions">",
|
||||
"<button type='button' data-player='captions'>",
|
||||
"<svg class='icon-captions-on'><use xlink:href='#icon-captions-on'></use></svg>",
|
||||
"<svg><use xlink:href='#icon-captions-off'></use></svg>",
|
||||
"<span class='sr-only'>Toggle Captions</span>",
|
||||
|
2
dist/plyr.js
vendored
2
dist/plyr.js
vendored
File diff suppressed because one or more lines are too long
@ -6,7 +6,7 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<!-- Docs styles -->
|
||||
<link rel="stylesheet" href="//cdn.plyr.io/1.3.0/docs.css">
|
||||
<link rel="stylesheet" href="//cdn.plyr.io/1.3.3/docs.css">
|
||||
</head>
|
||||
<body>
|
||||
<main>
|
||||
|
@ -8,10 +8,10 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<!-- Styles -->
|
||||
<link rel="stylesheet" href="https://cdn.plyr.io/1.3.0/plyr.css?3">
|
||||
<link rel="stylesheet" href="https://cdn.plyr.io/1.3.3/plyr.css?3">
|
||||
|
||||
<!-- Docs styles -->
|
||||
<link rel="stylesheet" href="https://cdn.plyr.io/1.3.0/docs.css?1">
|
||||
<link rel="stylesheet" href="https://cdn.plyr.io/1.3.3/docs.css?1">
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
@ -48,7 +48,7 @@
|
||||
<source src="https://cdn.selz.com/plyr/1.0/movie.webm" type="video/webm">
|
||||
|
||||
<!-- Text track file -->
|
||||
<track kind="captions" label="English" srclang="en" src="https://cdn.selz.com/plyr/1.0/en.vtt" default>
|
||||
<track kind="captions" label="English" srclang="en" src="https://cdn.selz.com/plyr/1.0/example_captions_en.vtt" default>
|
||||
|
||||
<!-- Fallback for browsers that don't support the <video> element -->
|
||||
<a href="https://cdn.selz.com/plyr/1.0/movie.mp4">Download</a>
|
||||
@ -97,13 +97,13 @@
|
||||
b.insertBefore(c, b.childNodes[0]);
|
||||
}
|
||||
}
|
||||
})(document, "https://cdn.plyr.io/1.3.0/sprite.svg");
|
||||
})(document, "https://cdn.plyr.io/1.3.3/sprite.svg");
|
||||
</script>
|
||||
|
||||
<!-- Plyr core script -->
|
||||
<script src="https://cdn.plyr.io/1.3.0/plyr.js?1"></script>
|
||||
<script src="https://cdn.plyr.io/1.3.3/plyr.js?1"></script>
|
||||
|
||||
<!-- Docs script -->
|
||||
<script src="https://cdn.plyr.io/1.3.0/docs.js?1"></script>
|
||||
<script src="https://cdn.plyr.io/1.3.3/docs.js?1"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "plyr",
|
||||
"version": "1.3.0",
|
||||
"version": "1.3.3",
|
||||
"description": "A simple HTML5 media player using custom controls",
|
||||
"homepage": "http://plyr.io",
|
||||
"main": "gulpfile.js",
|
||||
|
12
readme.md
12
readme.md
@ -27,9 +27,9 @@ Oh and yes, it works with Bootstrap.
|
||||
Check out [the changelog](changelog.md)
|
||||
|
||||
## Planned development
|
||||
- Playlists
|
||||
- ~~YouTube~~ and Vimeo support
|
||||
- Vimeo support
|
||||
- Playback speed
|
||||
- Playlists
|
||||
- Multiple language captions (with selection)
|
||||
- Audio captions
|
||||
... and whatever else has been raised in [issues](https://github.com/Selz/plyr/issues)
|
||||
@ -40,7 +40,7 @@ If you have any cool ideas or features, please let me know by [creating an issue
|
||||
|
||||
Check `docs/index.html` and `docs/dist/docs.js` for an example setup.
|
||||
|
||||
**Heads up**, the example `index.html` file needs to be served from a webserver (such as Apache, Nginx, IIS or similar) unless you change the file sources to include http or https. e.g. change `//cdn.plyr.io/1.3.0/plyr.js` to `https://cdn.plyr.io/1.3.0/plyr.js`
|
||||
**Heads up**, the example `index.html` file needs to be served from a webserver (such as Apache, Nginx, IIS or similar) unless you change the file sources to include http or https. e.g. change `//cdn.plyr.io/1.3.3/plyr.js` to `https://cdn.plyr.io/1.3.3/plyr.js`
|
||||
|
||||
### Bower
|
||||
If bower is your thang, you can grab Plyr using:
|
||||
@ -60,11 +60,11 @@ More info is on [npm](https://www.npmjs.com/package/ember-cli-plyr) and [GitHub]
|
||||
If you want to use our CDN, you can use the following:
|
||||
|
||||
```html
|
||||
<link rel="stylesheet" href="https://cdn.plyr.io/1.3.0/plyr.css">
|
||||
<script src="https://cdn.plyr.io/1.3.0/plyr.js"></script>
|
||||
<link rel="stylesheet" href="https://cdn.plyr.io/1.3.3/plyr.css">
|
||||
<script src="https://cdn.plyr.io/1.3.3/plyr.js"></script>
|
||||
```
|
||||
|
||||
You can also access the `sprite.svg` file at `https://cdn.plyr.io/1.3.0/sprite.svg`.
|
||||
You can also access the `sprite.svg` file at `https://cdn.plyr.io/1.3.3/sprite.svg`.
|
||||
|
||||
### CSS
|
||||
If you want to use the default css, add the `plyr.css` file from /dist into your head, or even better use `plyr.less` or `plyr.sass` file included in `/src` in your build to save a request.
|
||||
|
@ -1,6 +1,6 @@
|
||||
// ==========================================================================
|
||||
// Plyr
|
||||
// plyr.js v1.3.0
|
||||
// plyr.js v1.3.3
|
||||
// https://github.com/selz/plyr
|
||||
// License: The MIT License (MIT)
|
||||
// ==========================================================================
|
||||
@ -645,11 +645,20 @@
|
||||
player.media.currentTime.toFixed(1) <= _timecodeMax(player.captions[player.subcount][0])) {
|
||||
player.currentCaption = player.captions[player.subcount][1];
|
||||
|
||||
// Render the caption
|
||||
player.captionsContainer.innerHTML = player.currentCaption.trim();
|
||||
// Trim caption text
|
||||
var content = player.currentCaption.trim();
|
||||
|
||||
// Render the caption (only if changed)
|
||||
if(player.captionsContainer.innerHTML != content) {
|
||||
// Empty caption
|
||||
// Otherwise NVDA reads it twice
|
||||
player.captionsContainer.innerHTML = "";
|
||||
|
||||
// Set new caption text
|
||||
player.captionsContainer.innerHTML = content;
|
||||
}
|
||||
}
|
||||
else {
|
||||
// Clear the caption
|
||||
player.captionsContainer.innerHTML = "";
|
||||
}
|
||||
}
|
||||
@ -919,6 +928,7 @@
|
||||
rel: 0,
|
||||
showinfo: 0,
|
||||
iv_load_policy: 3,
|
||||
cc_load_policy: (config.captions.defaultActive ? 1 : 0),
|
||||
cc_lang_pref: "en",
|
||||
wmode: "transparent",
|
||||
modestbranding: 1,
|
||||
@ -1019,7 +1029,7 @@
|
||||
function _setupCaptions() {
|
||||
if(player.type === "video") {
|
||||
// Inject the container
|
||||
player.videoContainer.insertAdjacentHTML("afterbegin", "<div class='" + config.selectors.captions.replace(".", "") + "' aria-live='assertive'><span></span></div>");
|
||||
player.videoContainer.insertAdjacentHTML("afterbegin", "<div class='" + config.selectors.captions.replace(".", "") + "'><span></span></div>");
|
||||
|
||||
// Cache selector
|
||||
player.captionsContainer = _getElement(config.selectors.captions).querySelector("span");
|
||||
|
@ -19,9 +19,9 @@ $font-size-small: 14px !default;
|
||||
$font-size-base: 16px !default;
|
||||
|
||||
// Captions
|
||||
$font-size-captions-base: ceil(@font-size-base * 1.25) !default;
|
||||
$font-size-captions-medium: ceil(@font-size-base * 1.5) !default;
|
||||
$font-size-captions-large: (@font-size-base * 2) !default;
|
||||
$font-size-captions-base: ceil($font-size-base * 1.25) !default;
|
||||
$font-size-captions-medium: ceil($font-size-base * 1.5) !default;
|
||||
$font-size-captions-large: ($font-size-base * 2) !default;
|
||||
|
||||
// Controls
|
||||
$control-spacing: 10px !default;
|
||||
@ -211,7 +211,7 @@ $bp-captions-large: 768px !default; // When captions jump to the larger
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media (min-width: @bp-captions-large) {
|
||||
@media (min-width: $bp-captions-large) {
|
||||
font-size: $font-size-captions-medium;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user