react-audio-wave
Version:
visualize a waveform of an audio file
73 lines (64 loc) • 2.12 kB
TypeScript
import type { CSSProperties } from 'react';
import { ForwardRefExoticComponent } from 'react';
import { MemoExoticComponent } from 'react';
import type { PropsWithChildren } from 'react';
import type { ReactElement } from 'react';
import { ReactNode } from 'react';
import { RefAttributes } from 'react';
export declare interface CursorTimeConfig {
zIndex?: number;
customShowTimeStyle?: CSSProperties;
}
export declare interface InstanceMethodType {
seekTo?: (offsetTime: number, play?: boolean) => void;
destroy?: () => void;
play?: () => void;
pause?: () => void;
volume?: (volume: number) => void;
playbackRate?: (playbackRate: number) => void;
}
declare enum LoadStateEnum {
"EMPTY" = -1,
"INIT" = 0,
"LOADING" = 1,
"SUCCESS" = 2,
"ERROR" = 3
}
export { LoadStateEnum }
export { LoadStateEnum as LoadStateEnumType }
export declare const ReactAudioWave: MemoExoticComponent<ForwardRefExoticComponent<ReactAudioWaveProps & {
children?: ReactNode;
} & RefAttributes<InstanceMethodType>>>;
export declare interface ReactAudioWaveProps {
waveHeight: number;
colors: Wavecolors;
audioSrc: string;
placeholder: PropsWithChildren<any>;
emptyElement?: ReactElement;
barGap?: number;
barWidth?: number;
progressStyle?: CSSProperties;
supportPlaybackRate?: boolean;
mono?: boolean;
progressCursorVisible?: boolean;
cursorVisible?: boolean;
cursorTimeConfig?: CursorTimeConfig;
className?: string;
timeFormat?: (seconds: number) => string;
onChangeLoadState?: (state: LoadStateEnum, duration?: number) => void;
onCurrentTimeChange?: (current: number) => void;
onWaveSizeChange?: (size: Size) => void;
onPlayEnded?: () => void;
renderErrorElement?: (error?: string) => ReactElement;
}
export declare type Size = {
width: number;
height: number;
};
export declare interface Wavecolors {
progressColor: string;
waveColor: string;
cursorColor?: string;
waveBackground?: string;
}
export { }