feat: 将视频转写重构为纯文字异步语音识别
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
export type TranscriptionStatus =
|
||||
| "PENDING"
|
||||
| "QUEUED"
|
||||
| "PROCESSING"
|
||||
| "SUCCEEDED"
|
||||
| "FAILED";
|
||||
export type Transcript = { transcript: string[] };
|
||||
export type TranscriptionState = {
|
||||
status: TranscriptionStatus;
|
||||
error: string | null;
|
||||
transcript: string[] | null;
|
||||
};
|
||||
export const statusLabels: Record<TranscriptionStatus, string> = {
|
||||
PENDING: "待转写",
|
||||
QUEUED: "排队中",
|
||||
PROCESSING: "处理中",
|
||||
SUCCEEDED: "已完成",
|
||||
FAILED: "失败",
|
||||
};
|
||||
export function isActive(status: string) {
|
||||
return status === "QUEUED" || status === "PROCESSING";
|
||||
}
|
||||
export function transcriptionState(
|
||||
transcript: Transcript | null,
|
||||
task: { status: string; lastError: string | null } | null,
|
||||
): TranscriptionState {
|
||||
return {
|
||||
status: (task?.status ??
|
||||
(transcript ? "SUCCEEDED" : "PENDING")) as TranscriptionStatus,
|
||||
error: task?.lastError ?? null,
|
||||
transcript: transcript?.transcript ?? null,
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user