UNPKG

@byomakase/vu-meter

Version:

A customizable peak meter using the web audio API

28 lines (27 loc) 997 B
import { PeakMeterConfig } from './config'; import { Observable } from 'rxjs'; import { AudioPeakProcessorMessageEvent, Peaks } from './types'; import { VuMeterApi } from './api'; export declare class VuMeter implements VuMeterApi { channelCount: number; config: PeakMeterConfig; parent?: HTMLElement; ticks?: Array<HTMLElement>; channelElements?: Array<HTMLElement>; bars?: Array<HTMLElement>; tempPeaks: Array<number>; heldPeaks: Array<number>; peakHoldTimeouts: Array<number>; animationRequestId?: number; private _eventSource$?; private _eventSourceBreaker$; private _destroyed$; constructor(channelCount: number, ele: HTMLElement, options?: Partial<PeakMeterConfig>); attachSource(eventStreamFactory: Observable<Observable<AudioPeakProcessorMessageEvent>>): VuMeterApi; private handlePeakProcessorMessageEvent; private paintMeter; private clearPeak; private clearPeaks; getPeaks(): Peaks; destroy(): void; }