@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
215 lines • 4.8 kB
TypeScript
/**
* @class
*/
export class SoundEmitter {
/**
*
* @param json
* @returns {SoundEmitter}
*/
static fromJSON(json: any): SoundEmitter;
/**
* @readonly
* @type {List<SoundTrack>}
*/
readonly tracks: List<SoundTrack>;
/**
*
* @type {String|SoundEmitterChannels|null}
*/
channel: string | SoundEmitterChannels | null;
/**
*
* @type {number}
* @private
*/
private __distanceMin;
/**
*
* @type {number}
* @private
*/
private __distanceMax;
/**
* @deprecated
* @type {number}
* @private
*/
private __distanceRolloff;
/**
* TODO add to binary serialization
* @type {SoundPanningModelType}
*/
panningModel: SoundPanningModelType;
/**
* Type of attenuation used for sound fall-off, this is only used if Attenuation flag is set
* @type {SoundAttenuationFunction|number}
*/
attenuation: SoundAttenuationFunction | number;
/**
*
* @type {number|SoundEmitterFlags}
*/
flags: number | SoundEmitterFlags;
/**
* @readonly
*/
readonly nodes: {
/**
* @type {GainNode}
*/
volume: GainNode;
/**
* @type {PannerNode}
*/
panner: PannerNode;
/**
* @type {GainNode}
*/
attenuation: GainNode;
/**
* One of the other nodes, depending on the configuration
* @type {AudioNode}
*/
endpoint: AudioNode;
};
/**
*
* @type {Vector1}
*/
volume: Vector1;
/**
* @readonly
* @type {BvhClient}
*/
readonly bvh: BvhClient;
/**
*
* @param {SoundEmitter} other
* @returns number
*/
compare(other: SoundEmitter): any;
/**
*
* @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;
/**
* @deprecated
* @param {boolean} v
*/
set isPositioned(arg: boolean);
/**
* @deprecated
* @return {boolean}
*/
get isPositioned(): boolean;
/**
* @return {AudioNode}
*/
getTargetNode(): AudioNode;
/**
* @returns {boolean}
* @param {SoundEmitter} other
*/
equals(other: SoundEmitter): boolean;
/**
*
* @return {number}
*/
hash(): number;
/**
*
* @param {AudioContext} ctx
*/
buildNodes(ctx: AudioContext): void;
/**
* @private
* @param {number} distance
*/
private writeAttenuationVolume;
/**
* @param {number} v
*/
set distanceMin(arg: number);
/**
*
* @returns {number}
*/
get distanceMin(): number;
/**
* @param {number} v
*/
set distanceMax(arg: number);
/**
*
* @returns {number}
*/
get distanceMax(): number;
/**
* @deprecated
* @param {number} v
*/
set distanceRolloff(arg: number);
/**
* @deprecated
* @returns {number}
*/
get distanceRolloff(): number;
/**
*
* @param {number} x
* @param {number} y
* @param {number} z
*/
updatePosition(x: number, y: number, z: number): void;
/**
*
* @param {number} [duration] fade duration in seconds
* @param startAfter
*/
fadeOutAllTracks(duration?: number, startAfter?: number): void;
stopAllTracks(): void;
toJSON(): {
isPositioned: boolean;
isAttenuated: boolean;
channel: any;
volume: number;
tracks: any;
distanceMin: number;
distanceMax: number;
attenuation: string;
panningModel: string;
};
fromJSON(json: any): void;
}
export namespace SoundEmitter {
let typeName: string;
}
import List from '../../../../core/collection/list/List.js';
import { SoundTrack } from "./SoundTrack.js";
import { SoundPanningModelType } from "./SoundPanningModelType.js";
import { SoundAttenuationFunction } from "./SoundAttenuationFunction.js";
import { SoundEmitterFlags } from "./SoundEmitterFlags.js";
import Vector1 from "../../../../core/geom/Vector1.js";
import { BvhClient } from "../../../../core/bvh2/bvh3/BvhClient.js";
//# sourceMappingURL=SoundEmitter.d.ts.map