sound-manager
Version:
A full-service sound library.
47 lines (45 loc) • 1.14 kB
text/typescript
import {
IBaseNode,
} from '../Node/IBaseNode';
import {
IFade,
} from '../Fade/IFade';
import {
IGetFadeVolumeArgs,
} from '../Fade/IGetFadeVolumeArgs';
import {
IPanelRegisterableNode,
} from '../Node/IPanelRegisterableNode';
import {
IPlaySoundOptions,
} from './IPlaySoundOptions';
import {
ITaggableNode,
} from '../Node/ITaggableNode';
import {
NodeTypes,
} from '../enums/NodeTypes';
export interface ISound
extends
IBaseNode,
IPanelRegisterableNode,
ITaggableNode
{
readonly type: NodeTypes.Sound;
getTrackPosition(): number;
setTrackPosition(seconds: number): this;
getDuration(): number;
isPlaying(): boolean;
getLoop(): boolean;
setLoop(loop: boolean): this;
getFade(): IFade | null;
setFade(fade: IFade | null): this;
play(options?: Partial<IPlaySoundOptions>): Promise<void>;
pause(): this;
stop(hard?: boolean): Promise<void>;
rewind(seconds: number): this;
fastForward(seconds: number): this;
getGroupVolume(): number;
getFadeVolume(options?: Partial<IGetFadeVolumeArgs>): number;
updateAudioElementVolume(): this;
}