@auvious/media-tools / AudioVisualizerEffect
Class: AudioVisualizerEffect
A translucent, elastic membrane driven by the incoming voice spectrum.
Hierarchy
-
↳
AudioVisualizerEffect
Table of contents
Constructors
Properties
- analyser
- audioCtx
- bands
- buffer
- canvas
- colorPrimary
- colorSecondary
- fftSize
- frameId
- freqData
- gl
- lastTime
- motion
- name
- program
- resizeObserver
- smoothing
- sourceNode
- streamIn
- theme
- time
- uniforms
- version
- waveData
Methods
- dispose
- drawFrame
- emitOutput
- emitUnload
- hexToRgb
- initWebGL
- onOutput
- onUnload
- reset
- resizeCanvas
- resizeHandler
- setInput
- setupAudio
- teardownAudio
- updateAudio
- updateColors
- updateTheme
- updateVersion
Constructors
constructor
• new AudioVisualizerEffect(options): AudioVisualizerEffect
Parameters
| Name | Type |
|---|---|
options | AudioVisualizerOptions |
Returns
Overrides
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
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
| Name | Type |
|---|---|
stream | MediaStream |
Returns
void
Inherited from
emitUnload
▸ emitUnload(): void
Returns
void
Inherited from
hexToRgb
▸ hexToRgb(hex): [number, number, number]
Parameters
| Name | Type |
|---|---|
hex | string |
Returns
[number, number, number]
initWebGL
▸ initWebGL(): void
Returns
void
onOutput
▸ onOutput(callback): () => void
listen for output changes
Parameters
| Name | Type |
|---|---|
callback | (stream: MediaStream) => void |
Returns
fn
▸ (): void
Returns
void
Inherited from
onUnload
▸ onUnload(callback): () => void
listen for effect removal
Parameters
| Name | Type |
|---|---|
callback | () => void |
Returns
fn
▸ (): void
Returns
void
Inherited from
reset
▸ reset(): void
Returns
void
resizeCanvas
▸ resizeCanvas(): void
Returns
void
resizeHandler
▸ resizeHandler(): void
Returns
void
setInput
▸ setInput(stream?): void
Parameters
| Name | Type |
|---|---|
stream? | MediaStream |
Returns
void
Overrides
setupAudio
▸ setupAudio(stream): void
Parameters
| Name | Type |
|---|---|
stream | MediaStream |
Returns
void
teardownAudio
▸ teardownAudio(): void
Returns
void
updateAudio
▸ updateAudio(dt): void
Parameters
| Name | Type |
|---|---|
dt | number |
Returns
void
updateColors
▸ updateColors(colorPrimary, colorSecondary): void
Parameters
| Name | Type |
|---|---|
colorPrimary | string |
colorSecondary | string |
Returns
void
updateTheme
▸ updateTheme(theme): void
Parameters
| Name | Type |
|---|---|
theme | "dark" | "light" |
Returns
void
updateVersion
▸ updateVersion(version): void
Parameters
| Name | Type |
|---|---|
version | "v1" | "v2" |
Returns
void