mirror of
https://github.com/danielsogl/awesome-cordova-plugins.git
synced 2025-02-14 04:05:23 +08:00
67 lines
1.4 KiB
TypeScript
67 lines
1.4 KiB
TypeScript
import { Injectable } from '@angular/core';
|
|
import { Plugin, Cordova, IonicNativePlugin } from '@ionic-native/core';
|
|
|
|
export interface TTSOptions {
|
|
/** text to speak */
|
|
text: string;
|
|
/** a string like 'en-US', 'zh-CN', etc */
|
|
locale?: string;
|
|
/** speed rate, 0 ~ 1 */
|
|
rate?: number;
|
|
}
|
|
|
|
/**
|
|
* @name Text To Speech
|
|
* @description
|
|
* Text to Speech plugin
|
|
*
|
|
* @usage
|
|
* ```typescript
|
|
* import { TextToSpeech } from '@ionic-native/text-to-speech';
|
|
*
|
|
* constructor(private tts: TextToSpeech) { }
|
|
*
|
|
* ...
|
|
*
|
|
* this.tts.speak('Hello World')
|
|
* .then(() => console.log('Success'))
|
|
* .catch((reason: any) => console.log(reason));
|
|
*
|
|
* ```
|
|
* @interfaces
|
|
* TTSOptions
|
|
*/
|
|
@Plugin({
|
|
pluginName: 'Text To Speech',
|
|
plugin: 'cordova-plugin-tts',
|
|
pluginRef: 'TTS',
|
|
repo: 'https://github.com/vilic/cordova-plugin-tts',
|
|
platforms: ['Android', 'iOS', 'Windows Phone 8']
|
|
})
|
|
@Injectable()
|
|
export class TextToSpeech extends IonicNativePlugin {
|
|
|
|
/**
|
|
* This function speaks
|
|
* @param textOrOptions {string | TTSOptions} Text to speak or TTSOptions
|
|
* @return {Promise<any>} Returns a promise that resolves when the speaking finishes
|
|
*/
|
|
@Cordova({
|
|
successIndex: 1,
|
|
errorIndex: 2
|
|
})
|
|
speak(textOrOptions: string | TTSOptions): Promise<any> {
|
|
return;
|
|
}
|
|
|
|
/**
|
|
* Stop any current TTS playback
|
|
* @return {Promise<any>}
|
|
*/
|
|
@Cordova()
|
|
stop(): Promise<any> {
|
|
return;
|
|
}
|
|
|
|
}
|