@ahanapediatrics/react-volume-meter
Version:
A volume meter React component
38 lines (37 loc) • 918 B
TypeScript
import { Component, CSSProperties, RefObject } from 'react';
export declare enum VmShape {
VM_STEPPED = 0,
VM_FLAT = 1
}
declare type Props = {
audioContext: AudioContext;
src?: MediaStreamAudioSourceNode;
width: number;
height: number;
enabled?: boolean;
shape: VmShape;
blocks?: number;
style?: CSSProperties;
};
export declare class VolumeMeter extends Component<Props> {
static defaultProps: {
enabled: boolean;
blocks: number;
};
canvas: RefObject<HTMLCanvasElement>;
private getCanvasContext;
componentDidMount(): void;
componentDidUpdate(prevProps: Props): void;
componentWillUnmount(): void;
private changedSource;
private start;
private stop;
private setupAnalyzer;
private getVolume;
private drawer;
private rafId;
private array;
private analyser;
render(): JSX.Element;
}
export {};