fmode-voice.service.d.ts 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. import 'recorder-core/src/engine/pcm';
  2. import 'recorder-core/src/engine/wav';
  3. import 'recorder-core/src/extensions/waveview';
  4. import { WebSpeech } from './class-asr';
  5. import { Platform } from '@ionic/angular';
  6. import { Diagnostic } from '@awesome-cordova-plugins/diagnostic/ngx';
  7. import * as i0 from "@angular/core";
  8. export declare class FmodeVoiceService {
  9. private platform;
  10. private diagnostic;
  11. /**
  12. * 关闭ASR:用于测试其他功能时,可关闭ASR节省语音接口消耗
  13. */
  14. disableASR: false;
  15. /**
  16. * 讯飞TTS语音合成
  17. */
  18. /**
  19. * WebSpeech 语音库
  20. */
  21. webSpeech: typeof WebSpeech;
  22. constructor(platform: Platform, diagnostic: Diagnostic);
  23. onResultTextChanged: Function;
  24. /**()
  25. * 用户操作:录音按钮快捷触发操作
  26. */
  27. toggleRecord(): void;
  28. /**
  29. * 用户操作:完成录音,并处理转录结果
  30. */
  31. isUserFinish: boolean;
  32. finishTalk(): void;
  33. onBeforeFinishTalk: Function;
  34. onAfterFinishTalk: Function;
  35. onInputChange: Function;
  36. /**
  37. * 用户操作:开始讲话,实时转录语言
  38. */
  39. startTalk(evnet?: any): Promise<void>;
  40. onBeforeStartTalk: Function;
  41. onAfterStartTalk: Function;
  42. /**
  43. * 用户操作:取消讲话,且不发送结果
  44. */
  45. cancelTalk(): void;
  46. /**
  47. * 操作回调
  48. */
  49. onBeforeCancelTalk: Function;
  50. onAfterCancelTalk: Function;
  51. onAfterRecordStart: Function;
  52. /**
  53. * 程序逻辑
  54. */
  55. recordStart(): Promise<void>;
  56. recordStop(): Promise<unknown>;
  57. recordWavBlob: Blob;
  58. recordPcmBlob: Blob;
  59. recordDuration: number;
  60. playRecord(): void;
  61. pcmBlobToWavBlob(pcmBlob: any, sampleRate: any): Promise<Blob>;
  62. playPCM(pcmBlob: any, sampleRate: any): Promise<void>;
  63. buffers: Array<any>;
  64. playBuffers(): Promise<void>;
  65. BuffersToBlob(buffers: any): Blob;
  66. splitAudioData(audioData: any): any[];
  67. BufferToBlob(buffer: any): Blob;
  68. recordType: string;
  69. encodingType: string;
  70. createRecorder(): void;
  71. openWithPriviledge(): Promise<unknown>;
  72. connStatus: string;
  73. btnStatus: string;
  74. waveClient: any;
  75. recorder: any;
  76. iatWS: any;
  77. resultText: string;
  78. resultTextTemp: string;
  79. countdownInterval: any;
  80. durationInterval: any;
  81. /**
  82. * 获取websocket url
  83. * 该接口需要后端提供,这里为了方便前端处理
  84. */
  85. APPID: string;
  86. API_SECRET: string;
  87. API_KEY: string;
  88. getWebSocketUrl(): string;
  89. toBase64(buffer: any): string;
  90. /**
  91. * 倒计时:最长支持60秒实时语音转录,如果持续7-10秒无声音,服务端将自动CLOSE链接
  92. */
  93. /**
  94. * 计时器
  95. */
  96. onDurationStrChange: Function;
  97. durationStr: string;
  98. duration: number;
  99. now: Date;
  100. countTimer(): void;
  101. startCountdown(): void;
  102. changeBtnStatus(status: any): void;
  103. renderResult(resultData: any): void;
  104. getUserInput(): string;
  105. connectWebSocket(): void;
  106. /**
  107. * 断开自动重连
  108. * @desc
  109. * 停留5秒自动断开重连
  110. * 60秒断开后重连
  111. */
  112. reconnectWebsocket(): Promise<void>;
  113. /**
  114. * 移动端兼容方法
  115. */
  116. /**
  117. * 移动端上传专用方法
  118. * @returns
  119. */
  120. isCapacitor(): boolean;
  121. requestPermission(): Promise<void>;
  122. requestRecordAudioPermission(): Promise<void>;
  123. requestMicPermission(): Promise<void>;
  124. requestStoagePermission(): Promise<void>;
  125. requestCameraPermission(): Promise<void>;
  126. static ɵfac: i0.ɵɵFactoryDeclaration<FmodeVoiceService, never>;
  127. static ɵprov: i0.ɵɵInjectableDeclaration<FmodeVoiceService>;
  128. }