agent-voice-recognition
v1.0.0
Published
语音识别工具,支持实时语音转文字
Downloads
84
Maintainers
Readme
agent-voice-recognition
语音识别工具,支持实时语音转文字。
安装
npm install agent-voice-recognition使用
基础用法
import VoiceRecognitionSDK from 'agent-voice-recognition';
// 创建语音识别实例
const voiceSDK = new VoiceRecognitionSDK({
wsConfig: {
wsUrl: 'wss://example.com/asr',
wsDataCallback: (json) => {
console.log('识别结果:', json.voice_text_str);
},
onOpen: () => {
console.log('连接成功');
},
onError: (err) => {
console.error('连接错误:', err);
},
onClose: () => {
console.log('连接关闭');
},
}
});
// 初始化 WebSocket 连接
voiceSDK.initializeWebSocket();
// 设置音频数据回调
voiceSDK.setAudioDataCallback((audioData) => {
// 发送音频数据到服务器
voiceSDK.wsManager.sendOutData(audioData);
});
// 开始录音
await voiceSDK.startRecording();
// 停止录音
voiceSDK.stopRecording();
// 销毁实例
voiceSDK.destroy();在 Vue 中使用
<script setup>
import { onMounted, onUnmounted } from 'vue';
import VoiceRecognitionSDK from 'agent-voice-recognition';
let voiceSDK = null;
onMounted(() => {
voiceSDK = new VoiceRecognitionSDK({
wsConfig: {
wsUrl: 'wss://example.com/asr',
wsDataCallback: (json) => {
// 处理识别结果
console.log(json);
}
}
});
voiceSDK.setAudioDataCallback((audioData) => {
voiceSDK.wsManager.sendOutData(audioData);
});
});
onUnmounted(() => {
if (voiceSDK) {
voiceSDK.destroy();
}
});
</script>API
VoiceRecognitionSDK 类
构造函数
new VoiceRecognitionSDK(config)参数:
config(object) - 配置选项wsConfig(object) - WebSocket 配置wsUrl(string) - WebSocket URLwsDataCallback(Function) - 数据回调onOpen(Function) - 连接打开回调onError(Function) - 错误回调onClose(Function) - 连接关闭回调onReconnect(Function) - 重连回调onReconnectFailed(Function) - 重连失败回调reconnectAttempts(number) - 最大重连次数,默认 3
方法
initializeWebSocket()- 初始化 WebSocket 连接setAudioDataCallback(callback)- 设置音频数据回调setWsDataCallback(callback)- 设置 WebSocket 数据回调startRecording()- 开始录音stopRecording()- 停止录音destroy()- 销毁实例
特性
- ✅ 实时语音转文字
- ✅ WebSocket 实时传输
- ✅ 自动重连机制
- ✅ 心跳保活
- ✅ PCM 音频格式转换
- ✅ TypeScript 支持
注意事项
- 需要浏览器支持
getUserMediaAPI - 需要浏览器支持
AudioWorkletAPI - WebSocket 服务器需要支持音频数据接收和识别结果返回
