@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
185 lines • 4.26 kB
TypeScript
export class SoundTrack {
static fromJSON(json: any): SoundTrack;
/**
*
* @type {String|null}
*/
url: string | null;
/**
*
* @type {number}
*/
time: number;
/**
* @deprecated Not used
* @type {String|null}
*/
channel: string | null;
/**
* @private
* @type {number}
*/
private __volume;
/**
* In seconds
* Obtained once clip is loaded
* @type {number}
*/
duration: number;
/**
*
* @type {number|SoundTrackFlags}
*/
flags: number | SoundTrackFlags;
on: {
/**
* @type {Signal<this>}
*/
ended: Signal<this>;
};
/**
*
* @return {SoundTrackNodes}
*/
get nodes(): SoundTrackNodes;
/**
*
* @param {AudioContext} context
*/
initializeNodes(context: AudioContext): void;
/**
*
* @param {AudioBuffer} v
*/
set buffer(arg: AudioBuffer);
get buffer(): AudioBuffer;
start(startTime?: number): void;
suspend(): void;
/**
*
* @param {SoundTrack} other
* @returns number
*/
compare(other: SoundTrack): number;
/**
*
* @param {number|SoundEmitterFlags} flag
* @returns {void}
*/
setFlag(flag: number | SoundEmitterFlags): void;
/**
*
* @param {number|SoundEmitterFlags} flag
* @returns {void}
*/
clearFlag(flag: number | SoundEmitterFlags): void;
/**
*
* @param {number|SoundEmitterFlags} flag
* @param {boolean} value
*/
writeFlag(flag: number | SoundEmitterFlags, value: boolean): void;
/**
*
* @param {number|SoundEmitterFlags} flag
* @returns {boolean}
*/
getFlag(flag: number | SoundEmitterFlags): boolean;
/**
* Linearly transition volume to a target value over a certain duration.
* Useful for fading sounds in and out of the mix.
*
* NOTE: volume property of the object is updated instantly, transition happens at the AudioNode level only
*
* @param {number} target target volume value
* @param {number} duration How long the transition should take, in seconds
* @param {number} [startAfter] when fading should start, see WebAudio docs on {@link AudioContext#currentTime}
*/
setVolumeOverTime(target: number, duration: number, startAfter?: number): void;
/**
*
* @param {number} v
*/
set volume(arg: number);
/**
*
* @return {number}
*/
get volume(): number;
/**
* @deprecated
* @param {boolean} v
*/
set loop(arg: boolean);
/**
* @deprecated
* @return {boolean}
*/
get loop(): boolean;
/**
* @deprecated
* @param {boolean} v
*/
set playing(arg: boolean);
/**
* @deprecated
* @return {boolean}
*/
get playing(): boolean;
/**
* @deprecated
* @param {boolean} v
*/
set startWhenReady(arg: boolean);
/**
* @deprecated
* @return {boolean}
*/
get startWhenReady(): boolean;
/**
*
* @param {SoundTrack} other
*/
copy(other: SoundTrack): void;
/**
*
* @param {SoundTrack} other
* @returns {boolean}
*/
equals(other: SoundTrack): boolean;
/**
*
* @return {number}
*/
hash(): number;
/**
*
* @return {SoundTrack}
*/
clone(): SoundTrack;
toJSON(): {
url: string;
loop: boolean;
time: number;
volume: number;
playing: boolean;
startWhenReady: boolean;
usingAssetAlias: boolean;
synchronized: boolean;
};
fromJSON({ url, loop, time, volume, playing, startWhenReady, usingAssetAlias, synchronized }: {
url: any;
loop?: boolean;
time?: number;
volume?: number;
playing?: boolean;
startWhenReady?: boolean;
usingAssetAlias?: boolean;
synchronized?: boolean;
}): void;
#private;
}
import { SoundTrackFlags } from "./SoundTrackFlags.js";
import Signal from "../../../../core/events/signal/Signal.js";
import { SoundTrackNodes } from "./SoundTrackNodes.js";
//# sourceMappingURL=SoundTrack.d.ts.map