universal_bot-ts
40 строк · 1.7 Кб
1import {TemplateSoundTypes, ISound, YandexSpeechKit, Text} from '../../../../../src';
2
3export class UserSound implements TemplateSoundTypes {
4/**
5* Возвращаем массив с воспроизводимыми звуками.
6* В случае если передается параметр text, то можно отправить запрос в Yandex SpeechKit, для преобразования текста в голос
7*
8* @param sounds Массив звуков
9* @param text Исходный текст
10* @return {Promise<string>}
11*/
12public async getSounds(sounds: ISound[], text: string = ''): Promise<string | null> {
13if (sounds) {
14sounds.forEach((sound) => {
15if (sound) {
16if (typeof sound.sounds !== 'undefined' && typeof sound.key !== 'undefined') {
17/*
18* Сохраняем данные в массив, либо отправляем данные через запрос
19*/
20return Text.getText(sound.sounds);
21}
22}
23})
24}
25/*
26* если есть необходимость для прочтения текста
27*/
28if (text) {
29const speechKit = new YandexSpeechKit();
30const content = await speechKit.getTts(text);
31if (content) {
32/*
33* Сохраняем данные в массив, либо отправляем данные через запрос.
34* п.с. В content находится содержимое файла!
35*/
36}
37}
38return null;
39}
40}
41