fmode-tts-class.d.ts 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import Parse from "parse";
  2. import { NovaUploadService } from "../../../storage/service-upload/nova-upload.service";
  3. import { AudioPlayer } from "../audio.player";
  4. import { FmPushAudioOutputStreamCallback } from "../stream.player";
  5. interface FmodeTTSEvent {
  6. onSpeakBefore?(): void;
  7. onStreamStarted?(): void;
  8. onAudioCompleted?(): void;
  9. }
  10. /**
  11. * FmodeTTS
  12. * 每个类,表示一次独立的语音合成服务
  13. */
  14. export declare class FmodeTTS {
  15. private speechConfig;
  16. private audioConfig;
  17. private synthesizer;
  18. private subscriptionKey;
  19. private authorizationToken;
  20. private region;
  21. eventMap: FmodeTTSEvent;
  22. uploadServ?: NovaUploadService;
  23. isPlaying?: boolean;
  24. audioPlayer: AudioPlayer;
  25. audioStream: FmPushAudioOutputStreamCallback;
  26. stop(): void;
  27. constructor(config: {
  28. region: string;
  29. subscriptionKey: string;
  30. token: string;
  31. }, uploadServ?: NovaUploadService);
  32. extractTextFromXML(inputString: any): string;
  33. extractSSMLContent(inputString: any): any;
  34. /**
  35. * 合成语言并播放
  36. * @param textOrSSML
  37. * @desc
  38. * 普通文本
  39. * 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
  40. * @returns
  41. */
  42. speakAsync(textOrSSML: string, chatVoice?: Parse.Object, eventMap?: any): Promise<Parse.Object>;
  43. onBreak(options: {
  44. playedTime: string;
  45. playedText: string;
  46. leftText: string;
  47. }): void;
  48. fixMarkdownChar(md: any): any;
  49. playAudioData(audioData: string, chatVoice: Parse.Object, eventMap: any): Promise<void>;
  50. uploadAndSaveVoice(blob: any, chatVoice: any): Promise<string>;
  51. }
  52. export {};