uni-app 个别手机plus.speech 讯飞 提示组件未安装 错误码21001
uni-app 个别手机plus.speech 讯飞 提示组件未安装 错误码21001
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | win10 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Windows
PC开发环境操作系统版本号:win10
HBuilderX类型:正式
HBuilderX版本号:3.1.9
手机系统:Android
手机系统版本号:Android 11
手机厂商:vivo
手机机型:IQOO3
页面类型:vue
打包方式:云端
示例代码:
let options = {}; options.engine = ‘iFly’; plus.speech.startRecognize(options, function(s) { console.log(‘翻译’,s); cb && cb(s); }); plus.speech.addEventListener(‘start’, function(res) { console.log(‘start’,res); }); plus.speech.addEventListener(“recognition”, function(e) { console.log(‘recognition’); cb && cb(’’); }); plus.speech.addEventListener(“end”, function(err) { console.log(‘end’,res); cb && cb(’’); });
操作步骤:
调用plus.speech 方法
预期结果:
识别成功
实际结果:
错误提示 未安装组件
bug描述:
使用Speech 讯飞 提示组件未安装 错误 21001 有些手机又可以正常运行
更多关于uni-app 个别手机plus.speech 讯飞 提示组件未安装 错误码21001的实战教程也可以访问 https://www.itying.com/category-93-b0.html
怎么解决的后来
更多关于uni-app 个别手机plus.speech 讯飞 提示组件未安装 错误码21001的实战教程也可以访问 https://www.itying.com/category-93-b0.html
用的百度
这是讯飞语音引擎在部分设备上未预装或版本不兼容导致的常见问题。错误码21001明确表示语音识别组件缺失。以下是解决方案:
- 动态检测引擎可用性
plus.speech.isEngineAvailable((available) => {
if(available.iFly) {
// 执行识别
} else {
// 降级到系统引擎
options.engine = 'baidu';
}
});
- 添加引擎预加载 在manifest.json中配置:
"modules": {
"Speech": {
"features": ["iFly"]
}
}
- 实现多引擎降级策略
const engines = ['iFly', 'baidu'];
let currentEngine = 0;
function startRecognizeWithFallback() {
let options = {engine: engines[currentEngine]};
plus.speech.startRecognize(options, success, (error) => {
if(error.code === 21001 && currentEngine < engines.length - 1) {
currentEngine++;
startRecognizeWithFallback();
}
});
}

