Super Media Element
A custom element that helps save alienated player API's to bring back their true inner HTMLMediaElement API, or to extend a native media element like <audio>
or <video>
.
Usage
import { SuperVideoElement } from 'super-media-element';
class MyVideoElement extends SuperVideoElement {
constructor() {
super();
this.loadStart();
}
attributeChangedCallback(attrName, oldValue, newValue) {
if (attrName === 'src' && newValue) {
this.load();
return;
}
super.attributeChangedCallback(attrName, oldValue, newValue);
}
async load() {
await this.loadStart();
await this.loadEnd();
}
get nativeEl() {
return this.querySelector('.loaded-video-element');
}
}
if (!globalThis.customElements.get('my-video')) {
globalThis.customElements.define('my-video', MyVideoElement);
}
export { MyVideoElement };
Related