Skip to content

Commit 39fab0d

Browse files
committed
update webcomp
1 parent 742ab9d commit 39fab0d

File tree

2 files changed

+18
-4
lines changed

2 files changed

+18
-4
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
[![Published on npm](https://img.shields.io/npm/v/@node-projects/speech-recognition.webcomponent.svg?logo=npm)](https://www.npmjs.com/package/@node-projects/speech-recognition.webcomponent)
44

55
# description
6-
a simple speech-recognition.webcomponet ..
6+
a simple speech-recognition.webcomponent ..
77

88
# development
99
## upload new version

src/SpeechRecognition.ts

+17-3
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ export class SpeechRecognitionWebcomponent extends BaseCustomWebComponentConstru
1313

1414
//@ts-ignore
1515
private _recognition: SpeechRecognition;
16+
private _lastStartedAt: number;
1617

1718
public static properties = {
1819
autostart: Boolean,
@@ -43,6 +44,7 @@ export class SpeechRecognitionWebcomponent extends BaseCustomWebComponentConstru
4344

4445
start() {
4546
this.init();
47+
this._lastStartedAt = new Date().getTime();
4648
this._recognition.start();
4749
}
4850

@@ -55,10 +57,10 @@ export class SpeechRecognitionWebcomponent extends BaseCustomWebComponentConstru
5557
speechRecognitionList.addFromString(grammar, 1);
5658
recognition.grammars = speechRecognitionList;
5759
}
58-
recognition.continuous = true;
60+
recognition.continuous = false;
5961
recognition.lang = this.lang;
60-
//recognition.interimResults = false;
61-
//recognition.maxAlternatives = 1;
62+
recognition.interimResults = false;
63+
recognition.maxAlternatives = 1;
6264

6365
recognition.onresult = (e) => {
6466
this.text = e.results[0][0].transcript;
@@ -76,6 +78,18 @@ export class SpeechRecognitionWebcomponent extends BaseCustomWebComponentConstru
7678
recognition.onerror = (e) => {
7779
}
7880

81+
recognition.onend = () => {
82+
let timeSinceLastStart = new Date().getTime() - this._lastStartedAt;
83+
if (timeSinceLastStart > 1000) {
84+
this._lastStartedAt = new Date().getTime();
85+
setTimeout(() => {
86+
this._recognition.start();
87+
}, 50);
88+
} else {
89+
console.log("too fast restart");
90+
}
91+
}
92+
7993
//@ts-ignore
8094
this._recognition = recognition;
8195
}

0 commit comments

Comments
 (0)