drop queue speech on barge in

This commit is contained in:
akirilyuk
2022-02-03 17:47:11 +01:00
parent a1c59a5f25
commit 7e9b6498c5
4 changed files with 58 additions and 14 deletions

View File

@@ -23,6 +23,9 @@ class TaskGather extends Task {
].forEach((k) => this[k] = this.data[k]);
this.listenDuringPrompt = this.data.listenDuringPrompt === false ? false : true;
this.minBargeinWordCount = this.data.minBargeinWordCount || 1;
// this is specially for barge in where we want to make a bargebale promt
// to a user without listening after the say task has finished
this.dontListenAfterSpeech = this.data.dontListenAfterSpeech === true;
this.timeout = (this.timeout || 15) * 1000;
this.interim = this.partialResultCallback || this.bargein;
if (this.data.recognizer) {
@@ -101,14 +104,14 @@ class TaskGather extends Task {
this.sayTask.on('playDone', async(err) => {
if (err) return this.logger.error({err}, 'Gather:exec Error playing tts');
this.logger.debug('Gather: say task completed');
if (!this.killed) startListening(cs, ep);
if (!this.killed || !this.dontListenAfterSpeech) startListening(cs, ep);
});
}
else if (this.playTask) {
this.playTask.exec(cs, ep); // kicked off, _not_ waiting for it to complete
this.playTask.on('playDone', async(err) => {
if (err) return this.logger.error({err}, 'Gather:exec Error playing url');
if (!this.killed) startListening(cs, ep);
if (!this.killed || !this.dontListenAfterSpeech) startListening(cs, ep);
});
}
else startListening(cs, ep);