3.6 KiB
3.6 KiB
语音评测新方案 - 快速开始
✅ 已完成
- ✅ 禁用 UTS 插件 - 不再依赖本地编译
- ✅ 创建录音工具 -
utils/speech-recorder.js - ✅ 创建使用示例 -
语音评测-新方案使用示例.vue - ✅ 服务器部署指南 - 详细说明如何部署 Vosk
🎯 新方案架构
前端 (uni-app)
↓ 使用 uni.getRecorderManager() 录音
↓ 上传音频到内网服务器
服务器 (192.168.1.80:30091)
↓ 接收音频文件
↓ 调用 Vosk 识别引擎
↓ 对比参考文本
↓ 计算相似度评分
↓ 返回结果
前端
↓ 显示识别文本和评分
📋 立即使用
步骤 1:复制录音工具到你的项目
文件已创建在:
fronted_uniapp/utils/speech-recorder.js
步骤 2:在页面中使用
<template>
<view>
<button @touchstart="startRecord" @touchend="stopRecord">
按住录音
</button>
</view>
</template>
<script>
import speechRecorder from '@/utils/speech-recorder.js'
export default {
methods: {
startRecord() {
speechRecorder.start()
},
async stopRecord() {
const filePath = await speechRecorder.stop()
const result = await speechRecorder.uploadAndRecognize(filePath, {
referenceText: '你要评测的标准文本'
})
console.log('评分:', result.score)
console.log('识别文本:', result.recognizedText)
}
}
}
</script>
步骤 3:现在可以云打包了!
1. HBuilderX → 清理项目
2. 发行 → 原生APP-云打包
3. Android + DCloud证书
4. 等待 5-10 分钟
5. 下载 APK
不再需要 UTS 插件,云打包应该能成功!
🔧 服务器端部署(稍后)
- 在服务器 (192.168.1.80) 安装 Python 和 Vosk
- 运行识别服务
- 集成到现有 Spring Boot 后端
详细步骤见: 服务器端语音识别部署指南.md
💡 新方案优势
vs UTS 插件
| 特性 | UTS 插件 | 新方案 |
|---|---|---|
| 云打包 | ❌ 编译失败 | ✅ 直接成功 |
| 内网支持 | ✅ 支持 | ✅ 支持 |
| 维护性 | ❌ 依赖复杂 | ✅ 简单 |
| 扩展性 | ❌ 受限 | ✅ 灵活 |
| 成本 | ❌ 可能需要付费 | ✅ 免费 |
关键优势
- ✅ 云打包必成功 - 不依赖本地编译
- ✅ 完全内网 - Vosk 离线识别
- ✅ 易于维护 - 服务器端代码简单
- ✅ 功能更强 - 可以添加更多评测维度
- ✅ 免费开源 - 无需购买插件
📝 替换现有语音功能
找到你项目中所有使用语音插件的地方:
// 旧代码(UTS 插件)
import speechToText from '@/uni_modules/xwq-speech-to-text'
// 新代码(录音工具)
import speechRecorder from '@/utils/speech-recorder.js'
替换调用方式:
// 旧:
const result = await speechToText.evaluate(text)
// 新:
speechRecorder.start()
const filePath = await speechRecorder.stop()
const result = await speechRecorder.uploadAndRecognize(filePath, {
referenceText: text
})
⚡ 现在可以打包了
不需要等服务器部署好!
- 前端代码已经准备好
- 云打包会成功(不再依赖 UTS)
- 服务器接口可以稍后慢慢部署
先打包 APK,测试其他功能!
语音功能等服务器部署好后再测试!
🎯 总结
- ✅ UTS 插件已禁用
- ✅ 新录音工具已创建
- ✅ 云打包不再卡住
- ✅ 支持内网环境
- ✅ 可以立即打包测试
去 HBuilderX 云打包吧! 🚀