45 lines
1.2 KiB
TypeScript
45 lines
1.2 KiB
TypeScript
interface SpeechRecognition extends EventTarget {
|
|
continuous: boolean;
|
|
interimResults: boolean;
|
|
lang: string;
|
|
onstart: ((this: SpeechRecognition, ev: Event) => void) | null;
|
|
onend: ((this: SpeechRecognition, ev: Event) => void) | null;
|
|
onerror: ((this: SpeechRecognition, ev: SpeechRecognitionErrorEvent) => void) | null;
|
|
onresult: ((this: SpeechRecognition, ev: SpeechRecognitionEvent) => void) | null;
|
|
onspeechstart: ((this: SpeechRecognition, ev: Event) => void) | null;
|
|
onspeechend: ((this: SpeechRecognition, ev: Event) => void) | null;
|
|
start(): void;
|
|
stop(): void;
|
|
abort(): void;
|
|
}
|
|
|
|
interface SpeechRecognitionErrorEvent extends Event {
|
|
error: string;
|
|
message: string;
|
|
}
|
|
|
|
interface SpeechRecognitionEvent extends Event {
|
|
resultIndex: number;
|
|
results: SpeechRecognitionResultList;
|
|
}
|
|
|
|
interface SpeechRecognitionResultList {
|
|
length: number;
|
|
[index: number]: SpeechRecognitionResult;
|
|
}
|
|
|
|
interface SpeechRecognitionResult {
|
|
isFinal: boolean;
|
|
length: number;
|
|
[index: number]: SpeechRecognitionAlternative;
|
|
}
|
|
|
|
interface SpeechRecognitionAlternative {
|
|
transcript: string;
|
|
confidence: number;
|
|
}
|
|
|
|
interface Window {
|
|
SpeechRecognition: new () => SpeechRecognition;
|
|
webkitSpeechRecognition: new () => SpeechRecognition;
|
|
}
|