Files
ArtPlayer/packages/artplayer-plugin-flv/src/flv/index.js
T
2018-12-18 16:58:07 +08:00

53 lines
1.1 KiB
JavaScript

import Emitter from 'tiny-emitter';
import checkSupport from './utils/checkSupport';
import EventProxy from './eventProxy';
import CreatMediaSource from './creatMediaSource';
import FlvParse from './flvParse';
import * as utils from './utils';
import config from './config';
let id = 0;
class Flv extends Emitter {
constructor(mediaElement, url) {
super();
checkSupport(mediaElement, url);
this.mediaElement = mediaElement;
this.url = url;
id += 1;
this.id = id;
Flv.instances.push(this);
}
static get version() {
return '__VERSION__';
}
static get config() {
return config;
}
static get utils() {
return utils;
}
load() {
this.events = new EventProxy(this);
this.mediaSource = new CreatMediaSource(this);
this.flvData = new FlvParse(this);
}
destroy() {
this.events.destroy();
Flv.instances.splice(Flv.instances.indexOf(this), 1);
this.emit('destroy');
}
}
Object.defineProperty(Flv, 'instances', {
value: [],
});
window.Flv = Flv;
export default Flv;