Plyr
A simple, accessible HTML5 media player.
Why?
We wanted a lightweight, accessible and customisable media player that just supports modern browsers. Sure, there are many other players out there but we wanted to keep things simple, using the right elements for the job.
Features
Accessible - full support for captions and screen readers.
Lightweight - just 5.3KB minified and gzipped.
Customisable - make the player look how you want with the markup you want.
Semantic - uses the right elements. for volume and for progress and well, s for buttons. There's no or button hacks.
Responsive - as you'd expect these days.
Audio & Video - support for both formats.
API - toggle playback, volume, seeking, and more.
Fullscreen - supports native fullscreen with fallback to "full window" modes.
No dependencies - written in vanilla JavaScript, no jQuery required.
Changelog
Planned development
Accept a string selector, a node, or a nodelist for the container property of selectors.
Accept a selector for the html template property.
Multiple language captions (with selection)
Localisation of control labels
If you have any cool ideas or features, please let me know by creating an issue or of course, forking and sending a pull request.
Implementation
Check docs/index.html and docs/dist/docs.js for an example setup.
Bower
If bower is your thang, you can grab Plyr using:
bower install plyr
More info on setting up dependencies can be found in the Bower Docs
CDN
If you want to use our CDN, you can use the following. HTTPS (SSL) is supported.
You can also access the sprite.svg file at //cdn.plyr.io/1.0.19/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.
SVG
The SVG sprite for the controls icons is loaded in by AJAX to help with performance. This is best added before the closing