useSpeechSynthesis ​
Hook that provides speech synthesis functionality
sensors
test coverage
Last changed: last month
TIP
This hook uses SpeechSynthesis browser api to provide enhanced functionality. Make sure to check for compatibility with different browsers when using this api
Installation ​
Library
CLI
Manual
typescript
import { useSpeechSynthesis } from '@siberiacancode/reactuse';
Usage ​
typescript
const { supported, playing, status, utterance, error, stop, toggle, speak, resume, pause } = useSpeechSynthesis();
Demo ​
Api ​
Returns
UseSpeechSynthesisReturn
Type declaration ​
typescript
export type UseSpeechSynthesisStatus = 'end' | 'init' | 'pause' | 'play';
export interface UseSpeechSynthesisOptions {
/** Language for SpeechSynthesis */
lang?: string;
/** Gets and sets the pitch at which the utterance will be spoken at. */
pitch?: number;
/** Gets and sets the speed at which the utterance will be spoken at. */
rate?: number;
/** The text to be spoken */
text?: string;
/** Gets and sets the voice that will be used to speak the utterance. */
voice?: SpeechSynthesisVoice | null;
/** Gets and sets the volume that the utterance will be spoken at. */
volume?: number;
}
export interface UseSpeechSynthesisReturn {
/** Any error that occurred during speech synthesis. */
error: SpeechSynthesisErrorEvent | undefined;
/** Indicates if speech is currently playing. */
playing: boolean;
/** The current status of speech synthesis. */
status: UseSpeechSynthesisStatus;
/** Indicates if the SpeechSynthesis API is supported in the current environment. */
supported: boolean;
/** The SpeechSynthesisUtterance instance. */
utterance: SpeechSynthesisUtterance | null;
/** Function to pause speech synthesis. */
pause: () => void;
/** Function to resume speech synthesis. */
resume: () => void;
/** Function to start speech synthesis. */
speak: () => void;
/** Function to stop speech synthesis. */
stop: () => void;
/** Function to toggle between play and pause. */
toggle: (value?: boolean) => void;
}
Source ​
Source • DemoContributors ​
D