guoyu/fronted_uniapp/新方案-快速开始.md
2025-12-13 13:36:18 +08:00

170 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 云打包吧!** 🚀