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

3 回复

怎么解决的后来

更多关于uni-app 个别手机plus.speech 讯飞 提示组件未安装 错误码21001的实战教程也可以访问 https://www.itying.com/category-93-b0.html


用的百度

这是讯飞语音引擎在部分设备上未预装或版本不兼容导致的常见问题。错误码21001明确表示语音识别组件缺失。以下是解决方案:

  1. 动态检测引擎可用性
plus.speech.isEngineAvailable((available) => {
  if(available.iFly) {
    // 执行识别
  } else {
    // 降级到系统引擎
    options.engine = 'baidu';
  }
});
  1. 添加引擎预加载 在manifest.json中配置:
"modules": {
  "Speech": {
    "features": ["iFly"]
  }
}
  1. 实现多引擎降级策略
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();
    }
  });
}
回到顶部