@pixelation/engine
Version:
A simple pixel art game engine.
39 lines (38 loc) • 1.07 kB
TypeScript
export type Track = "main" | "sfx" | "speech" | "music";
export type Strategy = "once" | "once-restart" | "loop" | "loop-restart";
export interface AudioAssetOptions {
track?: Track;
strategy?: Strategy;
}
export declare class AudioAsset {
audio: Audio;
raw: ArrayBuffer;
options: AudioAssetOptions;
ready: boolean;
queued: boolean;
playing: boolean;
duration: number;
position: number;
started: number;
source: AudioBufferSourceNode;
constructor(audio: Audio, raw: ArrayBuffer, options?: AudioAssetOptions);
destroy(): void;
update(): void;
clone(): AudioAsset;
play(): void;
stop(): void;
}
export declare class Audio {
context: AudioContext;
main: GainNode;
sfx: GainNode;
speech: GainNode;
music: GainNode;
assets: AudioAsset[];
constructor();
asset(buffer: ArrayBuffer, options?: AudioAssetOptions): AudioAsset;
volume(track: Track, value: number): void;
once(asset: AudioAsset): void;
play(asset: AudioAsset): AudioAsset;
update(): void;
}