modern-canvas
Version:
A JavaScript WebGL rendering engine. only the ESM.
50 lines (49 loc) • 1.61 kB
TypeScript
import type { IPlayOptions } from '../interfaces';
import type { AudioProcessor } from '../pipeline';
import type { HTMLAudio } from './HTMLAudio';
import { Observable } from 'modern-idoc';
export declare class HTMLSound extends Observable {
static readonly PADDING = 0.1;
protected _source: HTMLAudioElement | null;
protected _audio: HTMLAudio | null;
protected _end: number;
protected _pausedReal: boolean;
protected _duration: number;
protected _start: number;
protected _playing: boolean;
get progress(): number;
/** Paused */
protected _paused: boolean;
get paused(): boolean;
set paused(val: boolean);
/** PlaybackRate */
protected _playbackRate: number;
get playbackRate(): number;
set playbackRate(val: number);
/** Volume */
protected _volume: number;
get volume(): number;
set volume(val: number);
/** Loop */
protected _loop: boolean;
get loop(): boolean;
set loop(val: boolean);
/** Muted */
protected _muted: boolean;
get muted(): boolean;
set muted(val: boolean);
set(name: 'playbackRate' | 'volume' | 'muted' | 'loop' | 'paused', value: number | boolean): this;
protected _onPlay(): void;
protected _onPause(): void;
init(audio: HTMLAudio): this;
protected _stop(): void;
stop(): void;
get processors(): AudioProcessor[];
set processors(_val: AudioProcessor[]);
refresh(): void;
refreshPaused(): void;
play(options?: IPlayOptions): void;
protected _onUpdate: () => void;
protected _onComplete(): void;
destroy(): void;
}