UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

185 lines 4.26 kB
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