All files / src/components/TextToSpeech types.ts

0% Statements 0/0
0% Branches 0/0
0% Functions 0/0
0% Lines 0/0

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41                                                                                 
/**
 * 読み上げの状態
 */
export type SpeechStatus = "idle" | "playing" | "paused" | "loading";
 
/**
 * TextToSpeechコンポーネントのProps
 */
export interface TextToSpeechProps {
  /** 読み上げるテキスト */
  text: string;
  /** 記事の言語 (自動判定のヒント) */
  lang?: "ja" | "en" | "auto";
  /** コンポーネントのラベル (アクセシビリティ用) */
  ariaLabel?: string;
}
 
/**
 * useSpeechSynthesisフックの戻り値
 */
export interface UseSpeechSynthesisReturn {
  /** 現在の状態 */
  status: SpeechStatus;
  /** 読み上げ速度 */
  rate: number;
  /** ブラウザ対応状況 */
  isSupported: boolean;
  /** エラーメッセージ */
  error: string | null;
  /** 読み上げ開始 */
  speak: (text: string, lang?: string) => void;
  /** 一時停止 */
  pause: () => void;
  /** 再開 */
  resume: () => void;
  /** 停止 */
  stop: () => void;
  /** 速度設定 */
  setRate: (rate: number) => void;
}