export type WaveMode = 'volume' | 'random' | 'wave'; export interface WaveProps { /** * 音频源:MediaStream(用于实时录音可视化)或 Blob/File(用于已录制或上传的音频可视化) * @type { MediaStream | Blob | File | null } * @default undefined */ source?: MediaStream | Blob | File | null; /** * 音波颜色 * @type { string } * @default '#606e85' */ color?: string; /** * 音波数量 * @type { number } * @default 60 */ count?: number; /** * 音波生成模式 * @type { WaveMode } * @default 'volume' */ waveMode?: WaveMode; /** * 音波最小高度(px) * @type { number } * @default 6 */ minHeight?: number; /** * 音波最大高度(px) * @type { number } * @default 40 */ maxHeight?: number; /** * 音波更新间隔(毫秒) * @type { number } * @default 100 */ updateInterval?: number; /** * 自定义类名 * @type { string } * @default undefined */ className?: string; /** * 是否处于待取消状态(显示红色渐变) * @type { boolean } * @default false */ willCancel?: boolean; /** * 是否处于待语音转文字状态(显示蓝色渐变) * @type { boolean } * @default false */ willSpeechToText?: boolean; }