@lifeintelligencegroup/ngx-lig-ari
Version:
Life Intelligence Group Artificial Intelligence
56 lines • 7.64 kB
JavaScript
import { Injectable } from '@angular/core';
import Speech from 'speak-tts';
import * as i0 from "@angular/core";
export class AriSpeechService {
constructor() { }
initWebSpeechRecognition() {
const SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition;
if (SpeechRecognition) {
this.SpeechRecognition = new SpeechRecognition();
this.SpeechRecognition.lang = 'en-US';
this.SpeechRecognition.interimResults = true;
this.SpeechRecognition.maxAlternatives = 10;
}
}
initWebSpeechSynthesis() {
this.SpeechSynthesisUtterance = new Speech();
this.showSpeechSynthesisError = false;
this.showSpeechSynthesisStatus = '';
}
isWebSpeechRecognitionSupported() {
if (!('SpeechRecognition' in window || 'webkitSpeechRecognition' in window)) {
this.showSpeechRecognitionError = true;
this.showSpeechRecognitionStatus = 'Speech Recognition not supported...';
return false;
}
if (!(window.hasOwnProperty('SpeechRecognition') ||
window.hasOwnProperty('webkitSpeechRecognition'))) {
this.showSpeechRecognitionError = true;
this.showSpeechRecognitionStatus = 'Speech Recognition not supported...';
return false;
}
this.showSpeechRecognitionError = false;
this.showSpeechRecognitionStatus = '';
return true;
}
isWebSpeechSynthesisSupported() {
if (!('speechSynthesis' in window && 'SpeechSynthesisUtterance' in window)) {
this.showSpeechSynthesisError = true;
this.showSpeechSynthesisStatus = 'Speech Synthesis not supported...';
return false;
}
return true;
}
SpeechStopsListening() {
this.SpeechRecognition.stop();
}
}
AriSpeechService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: AriSpeechService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
AriSpeechService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: AriSpeechService, providedIn: 'root' });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: AriSpeechService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root',
}]
}], ctorParameters: function () { return []; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJpLXNwZWVjaC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpZy1hcmkvc3JjL2xpYi9zZXJ2aWNlcy9hcmktc3BlZWNoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLE1BQU0sTUFBTSxXQUFXLENBQUM7O0FBUS9CLE1BQU0sT0FBTyxnQkFBZ0I7SUFXM0IsZ0JBQWUsQ0FBQztJQUVoQix3QkFBd0I7UUFDdEIsTUFBTSxpQkFBaUIsR0FDckIsTUFBTSxDQUFDLGlCQUFpQixJQUFJLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQztRQUM3RCxJQUFJLGlCQUFpQixFQUFFO1lBQ3JCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksR0FBRyxPQUFPLENBQUM7WUFDdEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7WUFDN0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7U0FDN0M7SUFDSCxDQUFDO0lBRUQsc0JBQXNCO1FBQ3BCLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxLQUFLLENBQUM7UUFDdEMsSUFBSSxDQUFDLHlCQUF5QixHQUFHLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQsK0JBQStCO1FBQzdCLElBQ0UsQ0FBQyxDQUFDLG1CQUFtQixJQUFJLE1BQU0sSUFBSSx5QkFBeUIsSUFBSSxNQUFNLENBQUMsRUFDdkU7WUFDQSxJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDO1lBQ3ZDLElBQUksQ0FBQywyQkFBMkIsR0FBRyxxQ0FBcUMsQ0FBQztZQUN6RSxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsSUFDRSxDQUFDLENBQ0MsTUFBTSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQztZQUMxQyxNQUFNLENBQUMsY0FBYyxDQUFDLHlCQUF5QixDQUFDLENBQ2pELEVBQ0Q7WUFDQSxJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDO1lBQ3ZDLElBQUksQ0FBQywyQkFBMkIsR0FBRyxxQ0FBcUMsQ0FBQztZQUV6RSxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsSUFBSSxDQUFDLDBCQUEwQixHQUFHLEtBQUssQ0FBQztRQUN4QyxJQUFJLENBQUMsMkJBQTJCLEdBQUcsRUFBRSxDQUFDO1FBQ3RDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELDZCQUE2QjtRQUMzQixJQUNFLENBQUMsQ0FBQyxpQkFBaUIsSUFBSSxNQUFNLElBQUksMEJBQTBCLElBQUksTUFBTSxDQUFDLEVBQ3RFO1lBQ0EsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQztZQUNyQyxJQUFJLENBQUMseUJBQXlCLEdBQUcsbUNBQW1DLENBQUM7WUFDckUsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEMsQ0FBQzs7NkdBckVVLGdCQUFnQjtpSEFBaEIsZ0JBQWdCLGNBRmYsTUFBTTsyRkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IFNwZWVjaCBmcm9tICdzcGVhay10dHMnO1xuXG5kZWNsYXJlIGNvbnN0IHdpbmRvdzogYW55O1xuZGVjbGFyZSB2YXIgd2Via2l0U3BlZWNoUmVjb2duaXRpb246IGFueTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFyaVNwZWVjaFNlcnZpY2Uge1xuICBzaG93U3BlZWNoUmVjb2duaXRpb25FcnJvcjogYm9vbGVhbjtcbiAgc2hvd1NwZWVjaFJlY29nbml0aW9uU3RhdHVzOiBhbnk7XG5cbiAgU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlOiBhbnk7XG4gIHNob3dTcGVlY2hTeW50aGVzaXNFcnJvcjogYm9vbGVhbjtcbiAgc2hvd1NwZWVjaFN5bnRoZXNpc1N0YXR1czogYW55O1xuXG4gIE5hdGl2ZVNwZWVjaFN5bnRoZXNpczogYW55O1xuICBTcGVlY2hSZWNvZ25pdGlvbjtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgaW5pdFdlYlNwZWVjaFJlY29nbml0aW9uKCkge1xuICAgIGNvbnN0IFNwZWVjaFJlY29nbml0aW9uID1cbiAgICAgIHdpbmRvdy5TcGVlY2hSZWNvZ25pdGlvbiB8fCB3aW5kb3cud2Via2l0U3BlZWNoUmVjb2duaXRpb247XG4gICAgaWYgKFNwZWVjaFJlY29nbml0aW9uKSB7XG4gICAgICB0aGlzLlNwZWVjaFJlY29nbml0aW9uID0gbmV3IFNwZWVjaFJlY29nbml0aW9uKCk7XG4gICAgICB0aGlzLlNwZWVjaFJlY29nbml0aW9uLmxhbmcgPSAnZW4tVVMnO1xuICAgICAgdGhpcy5TcGVlY2hSZWNvZ25pdGlvbi5pbnRlcmltUmVzdWx0cyA9IHRydWU7XG4gICAgICB0aGlzLlNwZWVjaFJlY29nbml0aW9uLm1heEFsdGVybmF0aXZlcyA9IDEwO1xuICAgIH1cbiAgfVxuXG4gIGluaXRXZWJTcGVlY2hTeW50aGVzaXMoKSB7XG4gICAgdGhpcy5TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UgPSBuZXcgU3BlZWNoKCk7XG4gICAgdGhpcy5zaG93U3BlZWNoU3ludGhlc2lzRXJyb3IgPSBmYWxzZTtcbiAgICB0aGlzLnNob3dTcGVlY2hTeW50aGVzaXNTdGF0dXMgPSAnJztcbiAgfVxuXG4gIGlzV2ViU3BlZWNoUmVjb2duaXRpb25TdXBwb3J0ZWQoKTogYm9vbGVhbiB7XG4gICAgaWYgKFxuICAgICAgISgnU3BlZWNoUmVjb2duaXRpb24nIGluIHdpbmRvdyB8fCAnd2Via2l0U3BlZWNoUmVjb2duaXRpb24nIGluIHdpbmRvdylcbiAgICApIHtcbiAgICAgIHRoaXMuc2hvd1NwZWVjaFJlY29nbml0aW9uRXJyb3IgPSB0cnVlO1xuICAgICAgdGhpcy5zaG93U3BlZWNoUmVjb2duaXRpb25TdGF0dXMgPSAnU3BlZWNoIFJlY29nbml0aW9uIG5vdCBzdXBwb3J0ZWQuLi4nO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgICEoXG4gICAgICAgIHdpbmRvdy5oYXNPd25Qcm9wZXJ0eSgnU3BlZWNoUmVjb2duaXRpb24nKSB8fFxuICAgICAgICB3aW5kb3cuaGFzT3duUHJvcGVydHkoJ3dlYmtpdFNwZWVjaFJlY29nbml0aW9uJylcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRoaXMuc2hvd1NwZWVjaFJlY29nbml0aW9uRXJyb3IgPSB0cnVlO1xuICAgICAgdGhpcy5zaG93U3BlZWNoUmVjb2duaXRpb25TdGF0dXMgPSAnU3BlZWNoIFJlY29nbml0aW9uIG5vdCBzdXBwb3J0ZWQuLi4nO1xuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5zaG93U3BlZWNoUmVjb2duaXRpb25FcnJvciA9IGZhbHNlO1xuICAgIHRoaXMuc2hvd1NwZWVjaFJlY29nbml0aW9uU3RhdHVzID0gJyc7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpc1dlYlNwZWVjaFN5bnRoZXNpc1N1cHBvcnRlZCgpOiBib29sZWFuIHtcbiAgICBpZiAoXG4gICAgICAhKCdzcGVlY2hTeW50aGVzaXMnIGluIHdpbmRvdyAmJiAnU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlJyBpbiB3aW5kb3cpXG4gICAgKSB7XG4gICAgICB0aGlzLnNob3dTcGVlY2hTeW50aGVzaXNFcnJvciA9IHRydWU7XG4gICAgICB0aGlzLnNob3dTcGVlY2hTeW50aGVzaXNTdGF0dXMgPSAnU3BlZWNoIFN5bnRoZXNpcyBub3Qgc3VwcG9ydGVkLi4uJztcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBTcGVlY2hTdG9wc0xpc3RlbmluZygpIHtcbiAgICB0aGlzLlNwZWVjaFJlY29nbml0aW9uLnN0b3AoKTtcbiAgfVxufVxuIl19