wavesurfer.js
Version:
Navigable audio waveform player
50 lines (49 loc) • 1.58 kB
TypeScript
import EventEmitter from './event-emitter.js';
import type { WaveSurferOptions } from './wavesurfer.js';
type RendererEvents = {
click: [relativeX: number, relativeY: number];
dblclick: [relativeX: number, relativeY: number];
drag: [relativeX: number];
scroll: [relativeStart: number, relativeEnd: number];
render: [];
};
declare class Renderer extends EventEmitter<RendererEvents> {
private static MAX_CANVAS_WIDTH;
private options;
private parent;
private container;
private scrollContainer;
private wrapper;
private canvasWrapper;
private progressWrapper;
private cursor;
private timeouts;
private isScrolling;
private audioData;
private resizeObserver;
private isDragging;
constructor(options: WaveSurferOptions, audioElement?: HTMLElement);
private parentFromOptionsContainer;
private initEvents;
private initDrag;
private getHeight;
private initHtml;
/** Wavesurfer itself calls this method. Do not call it manually. */
setOptions(options: WaveSurferOptions): void;
getWrapper(): HTMLElement;
getScroll(): number;
destroy(): void;
private createDelay;
private convertColorValues;
private renderBarWaveform;
private renderLineWaveform;
private renderWaveform;
private renderSingleCanvas;
private renderChannel;
render(audioData: AudioBuffer): void;
reRender(): void;
zoom(minPxPerSec: number): void;
private scrollIntoView;
renderProgress(progress: number, isPlaying?: boolean): void;
}
export default Renderer;