uni-app 百度语音识别模块 报Bug

发布于 1周前 作者 eggper 来自 Uni-App

uni-app 百度语音识别模块 报Bug

测试过的手机:

  • ios 17.5.1
  • android 12

操作步骤:

let options = {  
  engine: 'baidu',  
  continue: false,  
  lang: "zh-cn",  
  userInterface: true  
};  

plus.speech.startRecognize(options, function(s) {  
  console.log(s);  
},function(err){  
  console.log(err);  
});

预期结果:

  • 正常识别

实际结果:

  • 报错-3004

bug描述:

HbuilderX Speech模块被移除,按https://ask.dcloud.net.cn/question/201486工作人员的回复,直接在manifest.json源码视图中添加appid、apikey、secretkey后自定义基座

使用android测试,报错App name unknown[(-3004)asr authentication failed[info:-3004]]

使用ios测试,报错Error Domain=33 Code=2225220 "asr authentication failed[info:-3004]

manifest.json配置见图1,百度接口权限和额度诊断见图2

Image Image


2 回复

从反馈的日志看是你配置的appid、apikey、secretkey信息鉴权失败,确保配置信息与应用的包名、签名的信息一致。


针对您提到的uni-app中使用百度语音识别模块遇到Bug的情况,以下是一个基本的集成代码示例和可能的问题排查方向。请注意,由于具体的Bug信息未提供,以下内容将侧重于如何正确集成百度语音识别模块,并提供一些常见的调试思路。

集成步骤与代码示例

  1. 安装SDK: 确保您已经通过npm或yarn安装了百度AI的语音识别SDK。如果尚未安装,可以使用以下命令:

    npm install baidu-aip-sdk
    
  2. 引入SDK并初始化: 在您的uni-app项目中,引入百度AI的SDK并进行初始化。

    import AipSpeech from 'baidu-aip-sdk/es/speech/index';
    
    const client = new AipSpeech('APP_ID', 'API_KEY', 'SECRET_KEY');
    
    function initSpeechRecognition() {
      // 此处可以添加具体的初始化代码,比如设置识别参数等
    }
    
  3. 实现语音识别功能: 使用SDK提供的接口进行语音识别。

    function startRecognition(audioData) {
      return new Promise((resolve, reject) => {
        client.recognize(audioData, 'pcm', 16000, {
          dev_pid: 1536, // 普通话
        }, (err, result) => {
          if (err) {
            reject(err);
          } else {
            resolve(result);
          }
        });
      });
    }
    
  4. 处理识别结果: 在您的业务逻辑中调用上述函数,并处理识别结果。

    startRecognition(audioBuffer).then(result => {
      console.log('Recognition Result:', result);
    }).catch(err => {
      console.error('Recognition Error:', err);
    });
    

问题排查方向

  • 检查API Key和Secret:确保您使用的APP_ID、API_KEY和SECRET_KEY是正确的,且服务未过期。
  • 音频格式与参数:确认传入的音频数据格式(如采样率、编码格式)与API要求一致。
  • 网络问题:检查网络连接状态,确保请求能够成功发送到百度服务器。
  • 错误日志:详细查看控制台输出的错误信息,根据错误信息定位问题。
  • SDK版本:检查是否使用了最新版本的百度AI SDK,有时候Bug可能已经在新版本中被修复。

由于具体的Bug信息未提供,上述内容主要基于常见的集成步骤和调试思路。如果问题依然存在,建议查看官方文档或向百度AI社区寻求更具体的帮助。

回到顶部