event fix + corrections from errata

This commit is contained in:
SaschaNaz
2015-02-03 18:14:22 +09:00
parent 0fa2e9c38a
commit ec8cccc29b
2 changed files with 37 additions and 23 deletions
+6 -5
View File
@@ -44,7 +44,7 @@ declare var select: HTMLSelectElement;
/*
This example has some changes from the one in spec.
`var i = resultIndex` -> `var i = event.resultIndex` (Recorded as Errata 16)
`event.results.final` -> `event.results[i].final`
`event.results.final` -> `event.results[i].isFinal` (Recorded as Errata 02)
*/
declare var textarea: HTMLTextAreaElement;
declare var button: HTMLButtonElement;
@@ -57,7 +57,7 @@ declare var button: HTMLButtonElement;
recognition.onresult = function (event) {
for (var i = event.resultIndex; i < event.results.length; ++i) {
if (event.results[i].final) {
if (event.results[i].isFinal) {
textarea.value += event.results[i][0].transcript;
}
}
@@ -83,7 +83,8 @@ declare var button: HTMLButtonElement;
// Example 4
/*
This example has a change from the one in spec.
`recognition.interim = true;` -> `recognition.interimResults = true;` (Recorded as Errata 1)
`recognition.interim = true;` -> `recognition.interimResults = true;` (Recorded as Errata 01)
`event.results[i].final` -> `event.results[i].isFinal` (Recorded as Errata 02)
*/
declare var button: HTMLButtonElement;
declare var final_span: HTMLSpanElement;
@@ -100,7 +101,7 @@ declare var interim_span: HTMLSpanElement;
var final = "";
var interim = "";
for (var i = 0; i < event.results.length; ++i) {
if (event.results[i].final) {
if (event.results[i].isFinal) {
final += event.results[i][0].transcript;
} else {
interim += event.results[i][0].transcript;
@@ -135,7 +136,7 @@ declare var interim_span: HTMLSpanElement;
// Example 1
/*
This example has a change from the one in spec.
`SpeechSynthesisUtterance('Hello World')` -> `new SpeechSynthesisUtterance('Hello World')`
`SpeechSynthesisUtterance('Hello World')` -> `new SpeechSynthesisUtterance('Hello World')` (Recorded as Errata 09)
*/
() => {
speechSynthesis.speak(new SpeechSynthesisUtterance('Hello World'));
+31 -18
View File
@@ -3,6 +3,10 @@
// Definitions by: SaschaNaz <https://github.com/saschanaz>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
// Spec version: 19 October 2012
// Errata version: 6 June 2014
// Corrected unofficial spec version: 6 June 2014
interface SpeechRecognition extends EventTarget {
grammars: SpeechGrammarList;
lang: string;
@@ -15,16 +19,16 @@ interface SpeechRecognition extends EventTarget {
stop(): void;
abort(): void;
onaudiostart: (ev: SpeechRecognitionEvent) => any;
onsoundstart: (ev: SpeechRecognitionEvent) => any;
onspeechstart: (ev: SpeechRecognitionEvent) => any;
onspeechend: (ev: SpeechRecognitionEvent) => any;
onsoundend: (ev: SpeechRecognitionEvent) => any;
onaudiostart: (ev: Event) => any;
onsoundstart: (ev: Event) => any;
onspeechstart: (ev: Event) => any;
onspeechend: (ev: Event) => any;
onsoundend: (ev: Event) => any;
onresult: (ev: SpeechRecognitionEvent) => any;
onnomatch: (ev: SpeechRecognitionEvent) => any;
onerror: (ev: SpeechRecognitionError) => any;
onstart: (ev: SpeechRecognitionEvent) => any;
onend: (ev: SpeechRecognitionEvent) => any;
onstart: (ev: Event) => any;
onend: (ev: Event) => any;
}
interface SpeechRecognitionStatic {
prototype: SpeechRecognition;
@@ -47,7 +51,8 @@ interface SpeechRecognitionResult {
length: number;
item(index: number): SpeechRecognitionAlternative;
[index: number]: SpeechRecognitionAlternative;
final: boolean;
/* Errata 02 */
isFinal: boolean;
}
interface SpeechRecognitionResultList {
@@ -88,16 +93,21 @@ interface SpeechGrammarListStatic {
declare var SpeechGrammarList: SpeechGrammarListStatic;
declare var webkitSpeechGrammarList: SpeechGrammarListStatic;
interface SpeechSynthesis {
/* Errata 08 */
interface SpeechSynthesis extends EventTarget {
pending: boolean;
speaking: boolean;
paused: boolean;
/* Errata 11 */
onvoiceschanged: (ev: Event) => any;
speak(utterance: SpeechSynthesisUtterance): void;
cancel(): void;
pause(): void;
resume(): void;
getVoices(): SpeechSynthesisVoiceList;
/* Errata 05 */
getVoices(): SpeechSynthesisVoice[];
}
interface SpeechSynthesisGetter {
@@ -110,14 +120,16 @@ declare var speechSynthesis: SpeechSynthesis;
interface SpeechSynthesisUtterance extends EventTarget {
text: string;
lang: string;
voiceURI: string;
/* Errata 07 */
voice: SpeechSynthesisVoice;
volume: number;
rate: number;
pitch: number;
onstart: (ev: SpeechSynthesisEvent) => any;
onend: (ev: SpeechSynthesisEvent) => any;
onerror: (ev: ErrorEvent) => any;
/* Errata 12 */
onerror: (ev: SpeechSynthesisErrorEvent) => any;
onpause: (ev: SpeechSynthesisEvent) => any;
onresume: (ev: SpeechSynthesisEvent) => any;
onmark: (ev: SpeechSynthesisEvent) => any;
@@ -131,21 +143,22 @@ interface SpeechSynthesisUtteranceStatic {
declare var SpeechSynthesisUtterance: SpeechSynthesisUtteranceStatic;
interface SpeechSynthesisEvent extends Event {
/* Errata 08 */
utterance: SpeechSynthesisUtterance;
charIndex: number;
elapsedTime: number;
name: string;
}
/* Errata 12 */
interface SpeechSynthesisErrorEvent extends SpeechSynthesisEvent {
error: string;
}
interface SpeechSynthesisVoice {
voiceURI: string;
name: string;
lang: string;
localService: boolean;
default: boolean;
}
interface SpeechSynthesisVoiceList {
length: number;
item(index: number): SpeechSynthesisVoice;
[index: number]: SpeechSynthesisVoice;
}