xfyun-sdk
Version:
科大讯飞语音识别 SDK,支持浏览器中实时语音听写功能
109 lines (108 loc) • 3.18 kB
TypeScript
/**
* 科大讯飞翻译模块
* @description 支持语音翻译(边说边译)和文本翻译
*/
import { BaseWebSocketClient } from './base-websocket-client';
import type { TranslatorType, SourceLanguage, TargetLanguage, TranslatorState, TranslatorError, TranslationResult, TranslatorEventHandlers, XfyunTranslatorOptions } from './types';
export type { TranslatorType, SourceLanguage, TargetLanguage, TranslatorState, TranslatorError, TranslationResult, TranslatorEventHandlers, XfyunTranslatorOptions, };
/**
* 科大讯飞翻译类
*
* 继承 BaseWebSocketClient,复用 WebSocket 连接管理、状态管理、错误处理等通用逻辑。
* 专注于语音/文本翻译特有的功能:多语言支持、实时翻译结果、翻译模式切换等。
*
* @example
* ```typescript
* const translator = new XfyunTranslator({
* appId: 'your-app-id',
* apiKey: 'your-api-key',
* apiSecret: 'your-api-secret',
* type: 'asr',
* from: 'cn',
* to: 'en'
* }, {
* onResult: (result) => console.log('翻译结果:', result),
* onError: (err) => console.error('错误:', err)
* });
*
* await translator.start();
* translator.record();
* await translator.stop();
* ```
*/
export declare class XfyunTranslator extends BaseWebSocketClient<TranslatorState, XfyunTranslatorOptions, TranslatorEventHandlers> {
static translateText: (text: string, options: XfyunTranslatorOptions) => Promise<TranslationResult>;
private microphoneStream;
private audioContext;
private recorder;
private audioDataQueue;
protected readonly STATE_TRANSITIONS: Record<TranslatorState, TranslatorState[]>;
/**
* 创建翻译器实例
* @param options 配置选项
* @param handlers 事件处理程序
*/
constructor(options: XfyunTranslatorOptions, handlers?: TranslatorEventHandlers);
protected getModulePrefix(): string;
protected getErrorCodePrefix(): number;
protected generateAuthUrl(): string;
protected onConnected(): void;
protected parseMessage(data: string | ArrayBuffer): void;
/**
* 设置事件处理程序
*/
setHandlers(handlers: TranslatorEventHandlers): void;
/**
* 开始翻译
* @param text 文本翻译的文本(语音翻译模式可省略)
*/
start(text?: string): Promise<void>;
/**
* 停止翻译
*/
stop(): void;
/**
* 销毁实例
*/
destroy(): void;
/**
* 清理所有录音相关资源
*/
private cleanupRecordingResources;
/**
* 文本翻译
*/
private startTextTranslation;
/**
* 语音翻译
*/
private startSpeechTranslation;
/**
* 初始化录音器
*/
private initRecorder;
/**
* 停止录音
*/
private stopRecorder;
/**
* 释放麦克风
*/
private releaseMicrophone;
/**
* 发送文本翻译帧
*/
private sendTextFrame;
/**
* 发送语音翻译开始帧
*/
private sendStartFrame;
/**
* 发送音频数据
*/
private sendAudioData;
/**
* 发送翻译结束帧
*/
private sendTranslationEndFrame;
}