guoyu/log/备份/md/语音识别插件编译说明.md
2025-12-07 00:11:06 +08:00

114 lines
3.9 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.

# 语音识别插件编译说明
## 问题原因
错误信息:`uts插件[xwq-speech-to-text]编译失败,无法使用`
这是因为 UTS 插件需要编译成原生代码才能使用,标准基座无法运行 UTS 插件。
## 解决方案
### 方案一:云端制作自定义调试基座(强烈推荐)⭐⭐⭐⭐⭐
**重要:** 由于 UTS 插件依赖第三方库Vosk必须使用**云端打包**,不能本地编译!
1. **在 HBuilderX 中操作:**
- 菜单栏:`发行` → `原生App-云打包`
-**勾选 "打包为自定义调试基座"**(这是关键!)
- 选择 `Android` 平台
- 证书可以使用 DCloud 公共证书(测试用)
- 点击打包
2. **等待云端打包完成:**
- 打包过程需要 5-10 分钟
- 云端会自动下载和编译 Vosk 依赖库
- 完成后会在控制台显示下载链接
3. **安装自定义基座:**
- 下载生成的 APK 文件(文件名类似:`__UNI__XXXXX_自定义基座.apk`
- 安装到 Android 手机上
- 这个 APK 包含了编译好的 UTS 插件和 Vosk 库
4. **配置 HBuilderX 使用自定义基座:**
- 菜单栏:`运行` → `运行到手机或模拟器``运行配置`
- 选择 "自定义调试基座"(不是标准基座!)
- 点击确定
5. **运行项目:**
- 现在运行项目时会使用自定义基座
- 不会再尝试本地编译 UTS 插件
- 语音识别功能应该可以正常使用了
### 方案二:云打包(用于正式发布)
1. **在 HBuilderX 中操作:**
- 菜单栏:`发行` → `原生App-云打包`
- 选择 Android 平台
- 填写应用信息和证书
- 点击打包
2. **等待打包完成:**
- 打包完成后下载 APK
- 这个 APK 已经包含了编译好的 UTS 插件
### 方案三:本地打包(高级用户)
1. 导出项目到本地
2. 使用 Android Studio 编译
3. 参考 uni-app 官方文档的本地打包教程
## 注意事项
1. **模型文件:**
- 插件不包含 Vosk 模型文件
- 需要下载模型并放到 `/static/` 目录
- 模型下载地址https://alphacephei.com/vosk/models
- 推荐使用:`vosk-model-small-cn-0.22.zip`(中文小模型,约 40MB
2. **权限配置:**
- 插件已自动配置所需权限
- 运行时会自动请求麦克风权限
3. **测试建议:**
- 首次使用建议先用自定义基座测试
- 确认功能正常后再进行云打包
## 常见问题
### Q: 为什么会报 "找不到名称vosk" 错误?
A: 因为 Vosk 是第三方依赖库,本地编译环境找不到。必须使用云端打包,让云端服务器下载和编译依赖。
### Q: 为什么标准基座不能用?
A: UTS 插件需要编译成原生代码Kotlin/Java标准基座不包含这些代码。
### Q: 本地编译和云端编译有什么区别?
A:
- 本地编译:需要配置 Android SDK对于有第三方依赖的插件会失败 ❌
- 云端编译:自动处理所有依赖,稳定可靠 ✅
### Q: 每次修改代码都要重新打包吗?
A:
- 修改 Vue/JS 代码:不需要,热更新即可 ✅
- 修改 UTS 插件代码:需要重新云端打包自定义基座 ⚠️
### Q: 自定义调试基座和正式云打包有什么区别?
A:
- 自定义调试基座:用于开发测试,包含调试功能,勾选"打包为自定义调试基座"
- 正式云打包:用于发布,经过优化和签名,不勾选"打包为自定义调试基座"
### Q: 如何确认使用的是自定义基座?
A: 在 HBuilderX 运行配置中,确保选择了 "自定义调试基座",而不是 "标准基座"。
## 已修复的问题
- ✅ 修复了 `ResultData` 类型定义缺少 `errorMsg` 字段的问题
- ✅ 添加了错误处理,避免 APP 闪退
- ✅ 改进了错误信息提示
## 下一步
1. 制作自定义调试基座
2. 下载并放置 Vosk 模型文件
3. 安装基座到手机
4. 测试语音识别功能