guoyu/fronted_uniapp/新方案-快速开始.md

172 lines
3.6 KiB
Markdown
Raw Normal View History

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