<youtube-video>
https://github.com/muxinc/media-elements/tree/main/packages/youtube-video-element
A custom element for the YouTube player with an API that matches the <video>
API.
<media-controller>
<youtube-video
src="https://www.youtube.com/watch?v=tO01J-M3g0U"
slot="media"
crossorigin
muted
></youtube-video>
<media-loading-indicator slot="centered-chrome" noautohide></media-loading-indicator>
<media-control-bar>
<media-play-button></media-play-button>
<media-seek-backward-button></media-seek-backward-button>
<media-seek-forward-button ></media-seek-forward-button>
<media-mute-button></media-mute-button>
<media-volume-range></media-volume-range>
<media-time-range></media-time-range>
<media-time-display showduration remaining></media-time-display>
<media-playback-rate-button></media-playback-rate-button>
<media-fullscreen-button></media-fullscreen-button>
</media-control-bar>
</media-controller>
First install the NPM package:
npm install youtube-video-element
Import in your app javascript (e.g. src/App.js):
import 'youtube-video-element';
Optionally, you can load the script directly from a CDN using
jsDelivr:
<script type="module" src="https://cdn.jsdelivr.net/npm/youtube-video-element@1.1/+esm"></script>
This will register the custom elements with the browser so they can be used as HTML.