xfyun-sdk
Version:
科大讯飞语音识别 SDK,支持浏览器中实时语音听写功能
80 lines (79 loc) • 2.52 kB
TypeScript
/**
* 科大讯飞 TTS 语音合成模块
* @description 基于 WebSocket 的流式语音合成,支持多种音色、语速调节、多种音频格式
*/
import { BaseWebSocketClient } from './base-websocket-client';
import type { TTSAudioFormat, TTSVoiceName, SynthesizerState, TTSError, TTSEventHandlers, XfyunTTSOptions } from './types';
export type { TTSAudioFormat, TTSVoiceName, SynthesizerState, TTSError, TTSEventHandlers, XfyunTTSOptions, };
/**
* 科大讯飞语音合成类
*
* 继承 BaseWebSocketClient,复用 WebSocket 连接管理、状态管理、错误处理等通用逻辑。
* 专注于语音合成特有的功能:文本转语音、音频流处理、缓存管理等。
*
* @example
* ```typescript
* const synthesizer = new XfyunTTS({
* appId: 'your-app-id',
* apiKey: 'your-api-key',
* apiSecret: 'your-api-secret'
* }, {
* onAudioData: (buffer) => console.log('音频数据:', buffer),
* onEnd: () => console.log('合成完成')
* });
*
* await synthesizer.speak('你好,这是语音合成测试');
* await synthesizer.stop();
* ```
*/
export declare class XfyunTTS extends BaseWebSocketClient<SynthesizerState, XfyunTTSOptions, TTSEventHandlers> {
private audioChunks;
private currentText;
private textIndex;
protected readonly STATE_TRANSITIONS: Record<SynthesizerState, SynthesizerState[]>;
/**
* 创建 TTS 合成器实例
* @param options 配置选项
* @param handlers 事件处理程序
*/
constructor(options: XfyunTTSOptions, handlers?: TTSEventHandlers);
protected getModulePrefix(): string;
protected getErrorCodePrefix(): number;
protected generateAuthUrl(): string;
protected parseMessage(data: string | ArrayBuffer): void;
/**
* 开始语音合成
* @param text 要合成的文本
*/
start(text: string): void;
/**
* 停止合成
*/
stop(): void;
/**
* 获取累积的音频数据
*/
getAudioData(): ArrayBuffer | null;
/**
* Export audio blob
* @returns Audio Blob object, or null if no audio data
*/
exportAudio(): Blob | null;
/**
* Download audio file
* @param filename - Name of the file to download
*/
downloadAudio(filename?: string): void;
/**
* Get file extension based on audio format
*/
private getFileExtension;
/**
* 获取 MIME 类型
*/
getMimeType(): string;
/**
* 发送开始帧
*/
private sendStartFrame;
}