@ng-web-apis/speech
Version:
A library for using Web Speech API with Angular
24 lines • 3.43 kB
JavaScript
import { Pipe } from '@angular/core';
import * as i0 from "@angular/core";
class UtterancePipe {
transform(text, { lang = '', pitch = 1, rate = 1, volume = 1, voice = null, } = {}) {
const utterance = new SpeechSynthesisUtterance(text);
utterance.lang = lang;
utterance.pitch = pitch;
utterance.rate = rate;
utterance.volume = volume;
utterance.voice = voice; // Strange TS issue will not allow null here
return utterance;
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UtterancePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: UtterancePipe, isStandalone: true, name: "waUtterance" });
}
export { UtterancePipe };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UtterancePipe, decorators: [{
type: Pipe,
args: [{
standalone: true,
name: 'waUtterance',
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXR0ZXJhbmNlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3NwZWVjaC9zcmMvbW9kdWxlcy9zcGVlY2gtc3ludGhlc2lzL3V0dGVyYW5jZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBSW5DLE1BSWEsYUFBYTtJQUNmLFNBQVMsQ0FDWixJQUFZLEVBQ1osRUFDSSxJQUFJLEdBQUcsRUFBRSxFQUNULEtBQUssR0FBRyxDQUFDLEVBQ1QsSUFBSSxHQUFHLENBQUMsRUFDUixNQUFNLEdBQUcsQ0FBQyxFQUNWLEtBQUssR0FBRyxJQUFJLE1BQ2lDLEVBQUU7UUFFbkQsTUFBTSxTQUFTLEdBQUcsSUFBSSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVyRCxTQUFTLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUN0QixTQUFTLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUN4QixTQUFTLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUN0QixTQUFTLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUMxQixTQUFTLENBQUMsS0FBSyxHQUFHLEtBQU0sQ0FBQyxDQUFDLDRDQUE0QztRQUV0RSxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO3dHQXBCUSxhQUFhO3NHQUFiLGFBQWE7O1NBQWIsYUFBYTs0RkFBYixhQUFhO2tCQUp6QixJQUFJO21CQUFDO29CQUNGLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsYUFBYTtpQkFDdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7UGlwZVRyYW5zZm9ybX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1BpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgdHlwZSB7U3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlT3B0aW9uc30gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9zcGVlY2gtc3ludGhlc2lzLXV0dGVyYW5jZS1vcHRpb25zJztcblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3dhVXR0ZXJhbmNlJyxcbn0pXG5leHBvcnQgY2xhc3MgVXR0ZXJhbmNlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHB1YmxpYyB0cmFuc2Zvcm0oXG4gICAgICAgIHRleHQ6IHN0cmluZyxcbiAgICAgICAge1xuICAgICAgICAgICAgbGFuZyA9ICcnLFxuICAgICAgICAgICAgcGl0Y2ggPSAxLFxuICAgICAgICAgICAgcmF0ZSA9IDEsXG4gICAgICAgICAgICB2b2x1bWUgPSAxLFxuICAgICAgICAgICAgdm9pY2UgPSBudWxsLFxuICAgICAgICB9OiBTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2VPcHRpb25zIHwgdW5kZWZpbmVkID0ge30sXG4gICAgKTogU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlIHtcbiAgICAgICAgY29uc3QgdXR0ZXJhbmNlID0gbmV3IFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSh0ZXh0KTtcblxuICAgICAgICB1dHRlcmFuY2UubGFuZyA9IGxhbmc7XG4gICAgICAgIHV0dGVyYW5jZS5waXRjaCA9IHBpdGNoO1xuICAgICAgICB1dHRlcmFuY2UucmF0ZSA9IHJhdGU7XG4gICAgICAgIHV0dGVyYW5jZS52b2x1bWUgPSB2b2x1bWU7XG4gICAgICAgIHV0dGVyYW5jZS52b2ljZSA9IHZvaWNlITsgLy8gU3RyYW5nZSBUUyBpc3N1ZSB3aWxsIG5vdCBhbGxvdyBudWxsIGhlcmVcblxuICAgICAgICByZXR1cm4gdXR0ZXJhbmNlO1xuICAgIH1cbn1cbiJdfQ==