Skip to main content

@auvious/media-tools / AudioVisualizerEffect

Class: AudioVisualizerEffect

A translucent, elastic membrane driven by the incoming voice spectrum.

Hierarchy​

Table of contents​

Constructors​

Properties​

Methods​

Constructors​

constructor​

• new AudioVisualizerEffect(options): AudioVisualizerEffect

Parameters​

NameType
optionsAudioVisualizerOptions

Returns​

AudioVisualizerEffect

Overrides​

MediaEffect.constructor

Properties​

analyser​

• Private analyser: null | AnalyserNode = null


audioCtx​

• Private audioCtx: null | AudioContext = null


bands​

• Private bands: number[]


buffer​

• Private buffer: null | WebGLBuffer = null


canvas​

• Private canvas: HTMLCanvasElement


colorPrimary​

• Private colorPrimary: string = "#e649ba"


colorSecondary​

• Private colorSecondary: string = "#4285f4"


fftSize​

• Private fftSize: number


frameId​

• Private frameId: number = 0


freqData​

• Private freqData: null | Uint8Array = null


gl​

• Private gl: null | WebGLRenderingContext = null


lastTime​

• Private lastTime: number


motion​

• Private motion: number = 0


name​

• name: string = "auvious.audio-visualizer"

distinct effect name

Overrides​

MediaEffect.name


program​

• Private program: null | WebGLProgram = null


resizeObserver​

• Private resizeObserver: null | ResizeObserver = null


smoothing​

• Private smoothing: number


sourceNode​

• Private sourceNode: null | MediaStreamAudioSourceNode = null


streamIn​

• Private Optional streamIn: MediaStream


theme​

• Private theme: "dark" | "light"


time​

• Private time: number = 0


uniforms​

• Private uniforms: Record<string, null | WebGLUniformLocation> = {}


version​

• Private version: "v1" | "v2"


waveData​

• Private waveData: null | Uint8Array = null

Methods​

dispose​

▸ dispose(): void

Returns​

void


drawFrame​

▸ drawFrame(): void

Returns​

void


emitOutput​

▸ emitOutput(stream): void

Parameters​

NameType
streamMediaStream

Returns​

void

Inherited from​

MediaEffect.emitOutput


emitUnload​

▸ emitUnload(): void

Returns​

void

Inherited from​

MediaEffect.emitUnload


hexToRgb​

▸ hexToRgb(hex): [number, number, number]

Parameters​

NameType
hexstring

Returns​

[number, number, number]


initWebGL​

▸ initWebGL(): void

Returns​

void


onOutput​

▸ onOutput(callback): () => void

listen for output changes

Parameters​

NameType
callback(stream: MediaStream) => void

Returns​

fn

▸ (): void

Returns​

void

Inherited from​

MediaEffect.onOutput


onUnload​

▸ onUnload(callback): () => void

listen for effect removal

Parameters​

NameType
callback() => void

Returns​

fn

▸ (): void

Returns​

void

Inherited from​

MediaEffect.onUnload


reset​

▸ reset(): void

Returns​

void


resizeCanvas​

▸ resizeCanvas(): void

Returns​

void


resizeHandler​

▸ resizeHandler(): void

Returns​

void


setInput​

▸ setInput(stream?): void

Parameters​

NameType
stream?MediaStream

Returns​

void

Overrides​

MediaEffect.setInput


setupAudio​

▸ setupAudio(stream): void

Parameters​

NameType
streamMediaStream

Returns​

void


teardownAudio​

▸ teardownAudio(): void

Returns​

void


updateAudio​

▸ updateAudio(dt): void

Parameters​

NameType
dtnumber

Returns​

void


updateColors​

▸ updateColors(colorPrimary, colorSecondary): void

Parameters​

NameType
colorPrimarystring
colorSecondarystring

Returns​

void


updateTheme​

▸ updateTheme(theme): void

Parameters​

NameType
theme"dark" | "light"

Returns​

void


updateVersion​

▸ updateVersion(version): void

Parameters​

NameType
version"v1" | "v2"

Returns​

void