UNPKG

clicktone

Version:

ClickTone is a lightweight helper for UI sound feedback. It wraps the Web Audio API, giving you instant click‑sounds with volume control, throttling, callbacks, and an iOS resume workaround.

34 lines (33 loc) 891 B
declare global { interface Window { webkitAudioContext?: typeof AudioContext; } } type FileSource = string | HTMLSourceElement | { id: string; }; declare class ClickTone { private readonly fileSource; private readonly volume; private readonly callback; private readonly throttle; private readonly debug; private lastClickTime; private readonly audioCache; private audioContext; constructor({ file, volume, callback, throttle, debug, }: { file: FileSource; volume?: number; callback?: ((error?: Error) => void) | null; throttle?: number; debug?: boolean; }); private resolveFileUrl; private initAudioContext; private iOSFixAudioContext; private fetchAndDecodeAudio; private playAudio; private throttleFn; play(file?: FileSource): void; } export default ClickTone;