# 语音模型运行时下载方案 ## ❌ **问题** 语音模型文件 `vosk-model-small-cn-0.22.zip` 大小为 **41.87 MB**,超过云端打包限制(40MB)。 --- ## ✅ **解决方案:运行时下载** ### **原理** 1. 打包时**不包含**模型文件(减小 APK 大小) 2. 首次启动时从服务器下载模型 3. 下载后保存到本地存储 4. 后续使用本地模型 --- ## 📝 **实施步骤** ### **步骤1:从 static 目录移除模型文件** **方法A:移动到服务器(推荐)** ```bash # 将模型文件上传到您的服务器 # 例如:https://app.liuyingyong.cn/static/vosk-model-small-cn-0.22.zip ``` **方法B:移动到项目外(临时)** ```bash # 将文件移动到桌面备份 # fronted_uniapp/static/vosk-model-small-cn-0.22.zip # → 桌面/vosk-model-backup/ ``` --- ### **步骤2:修改语音识别页面,添加模型下载逻辑** 在 `pages/speech/speech.vue` 中添加: ```vue ``` --- ### **步骤3:更新插件代码,支持动态模型路径** 如果插件硬编码了模型路径,需要修改为接受外部传入的路径。 --- ## 🎯 **优点** - ✅ APK 大小减少 42MB - ✅ 可以随时更新模型而不用重新打包 - ✅ 可以支持多个模型按需下载 - ✅ 用户可以选择下载时机(WiFi环境) --- ## ⚠️ **注意事项** 1. **服务器要求** - 需要有可访问的服务器存放模型文件 - 建议使用 CDN 加速下载 - 确保服务器支持大文件下载 2. **首次使用体验** - 首次使用需要下载 42MB - 建议在 WiFi 环境下载 - 提供下载进度提示 3. **存储权限** - 确保 APP 有存储权限 - 检查存储空间是否足够 --- ## 📊 **效果对比** | 项目 | 打包方案 | 运行时下载 | |------|---------|-----------| | APK大小 | ~100MB | ~58MB ✅ | | 首次启动 | 即可使用 | 需下载 42MB | | 更新模型 | 需重新打包 | 直接更新 ✅ | | 灵活性 | 低 | 高 ✅ | --- ## 🚀 **快速实施** 如果现在着急打包,可以先: 1. **临时移除模型文件** ``` 移动 fronted_uniapp/static/vosk-model-small-cn-0.22.zip 到桌面备份 ``` 2. **注释掉语音功能** ```vue 语音识别按钮 ``` 3. **先完成打包** 4. **之后再实施完整的运行时下载方案** ---