import { ACCEPTED_EXTENSIONS, MAX_FILE_SIZE } from "./constants" /** * 验证音频文件 * @returns 错误信息,null 表示验证通过 */ export const validateFile = (file: File): string | null => { const ext = file.name.split(".").pop()?.toLowerCase() if (!ext || !ACCEPTED_EXTENSIONS.includes(ext)) { return "不支持的音频格式,请上传 MP3、WAV 或 M4A 文件" } if (file.size > MAX_FILE_SIZE) { return "文件大小超过 10MB,请压缩后重试" } return null } /** 格式化录制时间 mm:ss */ export const formatRecordTime = (seconds: number): string => { const m = Math.floor(seconds / 60) const s = seconds % 60 return `${m.toString().padStart(2, "0")}:${s.toString().padStart(2, "0")}` }