UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

46 lines (45 loc) 2.17 kB
import { Player } from 'tone/build/esm/source/buffer/Player'; export type OnBeforePlayCallback = (offset: number) => void; export type OnPlaySuccessCallback = () => void; export type OnPlayErrorCallback = (err: unknown) => void; export type OnStopCallback = () => void; export interface PlayerCallbacks { onBeforePlay?: Set<OnBeforePlayCallback>; onPlaySuccess?: Set<OnPlaySuccessCallback>; onPlayError?: Set<OnPlayErrorCallback>; onStop?: Set<OnStopCallback>; } export type PlayerEventName = 'onBeforePlay' | 'onPlaySuccess' | 'onPlayError' | 'onStop'; type CallbackByEventNameGeneric = { [key in PlayerEventName]: OnBeforePlayCallback | OnPlaySuccessCallback | OnPlayErrorCallback | OnStopCallback; }; export interface CallbackByEventName extends CallbackByEventNameGeneric { onBeforePlay: OnBeforePlayCallback; onPlaySuccess: OnPlaySuccessCallback; onPlayError: OnPlayErrorCallback; onStop: OnStopCallback; } export declare class AudioPlayerCallbacksManagerClass { private static _instance; private constructor(); static instance(): AudioPlayerCallbacksManagerClass; private _callbacksByPlayer; registerPlayer(player: Player): void; deregisterPlayer(player: Player): void; onBeforePlay(player: Player, callback: OnBeforePlayCallback): void; removeOnBeforePlay(player: Player, callback: OnStopCallback): void; runOnBeforePlayCallbacks(player: Player, offset: number): void; onPlaySuccess(player: Player, callback: OnPlaySuccessCallback): void; removeOnPlaySuccess(player: Player, callback: OnStopCallback): void; runOnPlaySuccessCallbacks(player: Player): void; onPlayError(player: Player, callback: OnPlayErrorCallback): void; removeOnPlayError(player: Player, callback: OnStopCallback): void; runOnPlayErrorCallbacks(player: Player, err: unknown): void; onStop(player: Player, callback: OnStopCallback): void; removeOnStop(player: Player, callback: OnStopCallback): void; runOnStopCallbacks(player: Player): void; private _on; private _removeCallback; } export declare const AudioPlayerCallbacksManager: AudioPlayerCallbacksManagerClass; export {};