apphouse
Version:
Component library for React that uses observable state management and theme-able components.
40 lines (39 loc) • 1.74 kB
TypeScript
export default class AudioSource {
analyzerNode?: AnalyserNode;
audioContext?: AudioContext;
baseEq?: BiquadFilterNode;
bassEqValue: number;
filter?: BiquadFilterNode;
gainNode?: GainNode;
liveFeedback: boolean;
midEq?: BiquadFilterNode;
midEqValue: number;
source: any;
trebleEq?: BiquadFilterNode;
trebleEqValue: number;
volumeValue: number;
constructor();
get analyzer(): AnalyserNode | undefined;
get hasSource(): boolean | undefined;
get isSuspended(): boolean | undefined;
initContext: () => void;
initCustomFilter: (type: BiquadFilterType, frequency?: number, Q?: number, gain?: number, detune?: number) => void;
initWithMediaFilepath: (filepath: string) => Promise<AudioBuffer | null>;
/**
* initWithStream initializes the stream and connects all sources nodes to that
* stream
* @param stream Media stream
* @param output A flag for live feedback, if false, no live feedback will play
*/
initWithStream: (stream: MediaStream, liveFeedback?: boolean) => Promise<MediaStreamAudioSourceNode | undefined>;
toggleLiveFeedback: (value?: boolean) => Promise<void>;
setVolume: (value: number) => void;
setBassEq: (value: number) => void;
setMidEq: (value: number) => void;
setTrebleEq: (value: number) => void;
getMediaStreamDestination: () => MediaStreamAudioDestinationNode | undefined;
connectDestinationStream: (stream: MediaStreamAudioDestinationNode) => void;
resetControls: (volume?: number, midEqValue?: number, bassEqValue?: number, trebleEqValue?: number) => void;
addReverb: () => Promise<void>;
static getAudioBuffer: (blob: Blob) => Promise<AudioBuffer | undefined>;
}