@remotion/player
Version:
React component for embedding a Remotion preview into your app
116 lines (115 loc) • 3.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ThumbnailEmitter = exports.PlayerEmitter = void 0;
class PlayerEmitter {
listeners = {
ended: [],
error: [],
pause: [],
play: [],
ratechange: [],
scalechange: [],
seeked: [],
timeupdate: [],
frameupdate: [],
fullscreenchange: [],
volumechange: [],
mutechange: [],
waiting: [],
resume: [],
};
addEventListener(name, callback) {
this.listeners[name].push(callback);
}
removeEventListener(name, callback) {
this.listeners[name] = this.listeners[name].filter((l) => l !== callback);
}
dispatchEvent(dispatchName, context) {
this.listeners[dispatchName].forEach((callback) => {
callback({ detail: context });
});
}
dispatchSeek = (frame) => {
this.dispatchEvent('seeked', {
frame,
});
};
dispatchVolumeChange = (volume) => {
this.dispatchEvent('volumechange', {
volume,
});
};
dispatchPause = () => {
this.dispatchEvent('pause', undefined);
};
dispatchPlay = () => {
this.dispatchEvent('play', undefined);
};
dispatchEnded = () => {
this.dispatchEvent('ended', undefined);
};
dispatchRateChange = (playbackRate) => {
this.dispatchEvent('ratechange', {
playbackRate,
});
};
dispatchScaleChange = (scale) => {
this.dispatchEvent('scalechange', {
scale,
});
};
dispatchError = (error) => {
this.dispatchEvent('error', {
error,
});
};
dispatchTimeUpdate = (event) => {
this.dispatchEvent('timeupdate', event);
};
dispatchFrameUpdate = (event) => {
this.dispatchEvent('frameupdate', event);
};
dispatchFullscreenChange = (event) => {
this.dispatchEvent('fullscreenchange', event);
};
dispatchMuteChange = (event) => {
this.dispatchEvent('mutechange', event);
};
dispatchWaiting = (event) => {
this.dispatchEvent('waiting', event);
};
dispatchResume = (event) => {
this.dispatchEvent('resume', event);
};
}
exports.PlayerEmitter = PlayerEmitter;
class ThumbnailEmitter {
listeners = {
error: [],
waiting: [],
resume: [],
};
addEventListener(name, callback) {
this.listeners[name].push(callback);
}
removeEventListener(name, callback) {
this.listeners[name] = this.listeners[name].filter((l) => l !== callback);
}
dispatchEvent(dispatchName, context) {
this.listeners[dispatchName].forEach((callback) => {
callback({ detail: context });
});
}
dispatchError = (error) => {
this.dispatchEvent('error', {
error,
});
};
dispatchWaiting = (event) => {
this.dispatchEvent('waiting', event);
};
dispatchResume = (event) => {
this.dispatchEvent('resume', event);
};
}
exports.ThumbnailEmitter = ThumbnailEmitter;