# xwq-speech-to-text * ### 安卓端封装VOSK模型语音识别功能 注意!试用需要先将插件导入项目并且页面加入引用代码再打自定义基座 注意!插件不包含模型文件,需要自行下载,因为模型文件比较大,加入无法云打包,可以打完基座后把模型拷贝到static目录下 #### [模型下载地址](https://alphacephei.com/vosk/models) ### 使用步骤 * 第一步:使用VOSK ``` import {downloadModel,initVoskModel,startSpeechVoice,stopSpeechVoice} from '@/uni_modules/xwq-speech-to-text'; import { CallbackType, RedultType } from '@/uni_modules/xwq-speech-to-text/utssdk/interface.uts'; ``` * 第二步:初始化模型 ``` /** * 初始化模型 * 将返回的模型地址缓存起来,在第二次用到的时候直接传入初始化,避免重复解压 */ const init = () => { let path = '/static/vosk-model-small-cn-0.22.zip'; initVoskModel({ zipModelPath: path }, (result : CallbackType) => { console.log('模型地址====', result.data) modelPath.value = result.data.modelPath; }) }; ``` * 第三步:开始语音识别 ``` /** * 开始语音识别 */ const start = () => { startSpeechVoice((res : RedultType) => { console.log('识别结果===', res.data.text) content.value += res.data.text }) }; ``` * 停止语音识别 ``` /** * 停止语音识别 */ const stop = () => { stopSpeechVoice() }; ``` * 如果已经解压过模型,存在解压路径时初始化 ``` /** * 存在模型解压路径(即已经初始化过一次) */ initVoskModel({ modelPath: modelPath.value, zipModelPath: '' }, (result : CallbackType) => { console.log('模型地址====', result.data) }) ``` * 在线下载模型 ``` const downModel = () => { const url = 'https://example.com/vosk-model-small-cn-0.22.zip';//需要换成真实的模型下载地址 downloadModel(url, (res) => { console.log(res) if (res.code == 0 && res.filePath != '') { initVoskModel({ zipModelPath: res.filePath }, (result : CallbackType) => { console.log('模型地址====', result.data) modelPath.value = result.data.modelPath; }) } }) }; ``` ### 使用完整示例(UniappX) ``` ``` ### 使用完整示例(Uniapp) ``` ```