12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import Parse from "parse";
- import { NovaUploadService } from "../../../storage/service-upload/nova-upload.service";
- import { AudioPlayer } from "../audio.player";
- import { FmPushAudioOutputStreamCallback } from "../stream.player";
- interface FmodeTTSEvent {
- onSpeakBefore?(): void;
- onStreamStarted?(): void;
- onAudioCompleted?(): void;
- }
- /**
- * FmodeTTS
- * 每个类,表示一次独立的语音合成服务
- */
- export declare class FmodeTTS {
- private speechConfig;
- private audioConfig;
- private synthesizer;
- private subscriptionKey;
- private authorizationToken;
- private region;
- eventMap: FmodeTTSEvent;
- uploadServ?: NovaUploadService;
- isPlaying?: boolean;
- audioPlayer: AudioPlayer;
- audioStream: FmPushAudioOutputStreamCallback;
- stop(): void;
- constructor(config: {
- region: string;
- subscriptionKey: string;
- token: string;
- }, uploadServ?: NovaUploadService);
- extractTextFromXML(inputString: any): string;
- extractSSMLContent(inputString: any): any;
- /**
- * 合成语言并播放
- * @param textOrSSML
- * @desc
- * 普通文本
- * SSML https://learn.microsoft.com/zh-cn/azure/ai-services/speech-service/how-to-speech-synthesis?tabs=browserjs%2Cterminal&pivots=programming-language-javascript#use-ssml-to-customize-speech-characteristics
- * @returns
- */
- speakAsync(textOrSSML: string, chatVoice?: Parse.Object, eventMap?: any): Promise<Parse.Object>;
- onBreak(options: {
- playedTime: string;
- playedText: string;
- leftText: string;
- }): void;
- fixMarkdownChar(md: any): any;
- playAudioData(audioData: string, chatVoice: Parse.Object, eventMap: any): Promise<void>;
- uploadAndSaveVoice(blob: any, chatVoice: any): Promise<string>;
- }
- export {};
|