@pilotlab/lux-tools
Version:
A luxurious user experience framework, developed by your friends at Pilot.
27 lines (26 loc) • 1.19 kB
TypeScript
import { Signal } from '@pilotlab/lux-signals';
import { AnimationEaseFunction } from '@pilotlab/lux-animation';
import AudioSource from './audioSource';
export declare class AudioManager {
constructor();
private _cache;
private _currentlyPlaying;
audioContext: AudioContext;
gainNode: GainNode;
readonly isPaused: boolean;
private _isPaused;
volume: number;
private _volume;
audioEnded: Signal<AudioSource>;
tick(elapsedMilliseconds: number): void;
playBallOut(): AudioManager;
playPing(frequency?: number): AudioManager;
preload(url: string): AudioSource;
release(url: string): AudioManager;
releaseAll(): AudioManager;
play(url?: string, isStopCurrentlyPlaying?: boolean, isLoop?: boolean, isCache?: boolean, durationIn?: number, easeIn?: AnimationEaseFunction, durationOut?: number, easeOut?: AnimationEaseFunction): AudioSource;
private _playAudioSource(audioSource, isStopCurrentlyPlaying?, durationIn?, easeIn?, durationOut?, easeOut?);
pause(duration?: number, ease?: AnimationEaseFunction): boolean;
stop(duration?: number, ease?: AnimationEaseFunction): AudioManager;
}
export default AudioManager;