mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-21 12:41:20 -08:00
change event bind
This commit is contained in:
1 parent
a79a3cef87
commit
e4518d21ce
4 files changed
+31
-66
No files matched your search
+12
-24
@@ -6,10 +6,6 @@ export default class Mse {
|
||||
constructor(art) {
|
||||
this.art = art;
|
||||
this.setMimeCodec();
|
||||
this.mediaSourceEventFn = this.mediaSourceEventFn.bind(this);
|
||||
this.sourceBufferEventFn = this.sourceBufferEventFn.bind(this);
|
||||
this.sourceBuffersEventFn = this.sourceBuffersEventFn.bind(this);
|
||||
this.activeSourceBuffersEventFn = this.activeSourceBuffersEventFn.bind(this);
|
||||
this.init();
|
||||
this.eventBind();
|
||||
this.eventStart();
|
||||
@@ -57,12 +53,18 @@ export default class Mse {
|
||||
const { instance, sourceBufferList } = mseConfig;
|
||||
|
||||
instance.events.forEach(eventName => {
|
||||
proxy(this.mediaSource, eventName, this.mediaSourceEventFn);
|
||||
proxy(this.mediaSource, eventName, event => {
|
||||
this.art.emit(`mediaSource:${event.type}`, event);
|
||||
});
|
||||
});
|
||||
|
||||
sourceBufferList.events.forEach(eventName => {
|
||||
proxy(this.mediaSource.sourceBuffers, eventName, this.sourceBuffersEventFn);
|
||||
proxy(this.mediaSource.activeSourceBuffers, eventName, this.activeSourceBuffersEventFn);
|
||||
proxy(this.mediaSource.sourceBuffers, eventName, event => {
|
||||
this.art.emit(`sourceBuffers:${event.type}`, event);
|
||||
});
|
||||
proxy(this.mediaSource.activeSourceBuffers, eventName, event => {
|
||||
this.art.emit(`activeSourceBuffers:${event.type}`, event);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -74,7 +76,9 @@ export default class Mse {
|
||||
this.art.on('mediaSource:sourceopen', () => {
|
||||
this.sourceBuffer = this.mediaSource.addSourceBuffer(option.mimeCodec);
|
||||
sourceBuffer.events.forEach(eventName => {
|
||||
proxy(this.sourceBuffer, eventName, this.sourceBufferEventFn);
|
||||
proxy(this.sourceBuffer, eventName, event => {
|
||||
this.art.emit(`sourceBuffer:${event.type}`, event);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -86,20 +90,4 @@ export default class Mse {
|
||||
this.sourceBuffer.appendBuffer(response);
|
||||
});
|
||||
}
|
||||
|
||||
mediaSourceEventFn(event) {
|
||||
this.art.emit(`mediaSource:${event.type}`, event);
|
||||
}
|
||||
|
||||
sourceBufferEventFn(event) {
|
||||
this.art.emit(`sourceBuffer:${event.type}`, event);
|
||||
}
|
||||
|
||||
sourceBuffersEventFn(event) {
|
||||
this.art.emit(`sourceBuffers:${event.type}`, event);
|
||||
}
|
||||
|
||||
activeSourceBuffersEventFn(event) {
|
||||
this.art.emit(`activeSourceBuffers:${event.type}`, event);
|
||||
}
|
||||
}
|
||||
+3
-6
@@ -4,7 +4,6 @@ import mediaElement from './utils/mediaElement';
|
||||
export default class Player {
|
||||
constructor(art) {
|
||||
this.art = art;
|
||||
this.eventFn = this.eventFn.bind(this);
|
||||
this.init();
|
||||
this.eventBind();
|
||||
}
|
||||
@@ -24,11 +23,9 @@ export default class Player {
|
||||
const { $video } = this.art.refs;
|
||||
const { events } = mediaElement;
|
||||
events.forEach(eventName => {
|
||||
proxy($video, eventName, this.eventFn);
|
||||
proxy($video, eventName, event => {
|
||||
this.art.emit(`video:${event.type}`, event);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
eventFn(event) {
|
||||
this.art.emit(`video:${event.type}`, event);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user