UNPKG

@remotion/player

Version:

React component for embedding a Remotion preview into your app

116 lines (115 loc) 3.16 kB
"use strict"; 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;