收藏
回答

【紧急】WechatSI语音识别插件在正式发布小程序后为什么无法正常工作?

有一个语音识别的功能,用了WechatSI插件。在开发版和体验版里使用完全正常,首次使用都会自动弹出麦克风授权的弹窗。但是提交审核通过后正式发布,在正式的上线版本里按住语音输入按钮讲话时,就直接报错弹窗提示“语音识别失败”。这是什么原因?

  // 设置语音识别回调
    setupVoiceCallbacks() {
      if (!this.voiceManager) return;
      
      this.voiceManager.onStart = () => {
        // 语音管理器启动
      };
      
      this.voiceManager.onRecognize = (res) => {
        // 实时更新识别文字
        if (this.isRecording && !this.isCanceled) {
          this.recordingText = res.result || '正在录音...';
        }
      };
      
      this.voiceManager.onStop = (res) => {
        // 语音识别完成
        
        // 如果没有取消且有识别结果,发送消息
        if (!this.isCanceled && res.result && res.result.trim()) {
          this.sendVoiceMessage(res.result);
        }
      };
      
      this.voiceManager.onError = (err) => {
        console.log('❌ 语音识别错误:', err);
        
        // 只有真正的错误才显示提示
        if (!this.isCanceled && err.retcode !== -30004) {
          setTimeout(() => {
            uni.showToast({
              title: '语音识别失败',
              icon: 'none',
              duration: 1500
            });
          }, 100);
        }
      };
    },
    
    // 立即切换到按钮状态
    switchToButtonState() {
      console.log('🔄 切换到按钮状态');
      this.isRecording = false;
      this.isCanceled = false;
      this.recordingText = '正在录音...';
      this.startY = 0;
      // 清理计时器
      if (this.recordingTimer) {
        clearInterval(this.recordingTimer);
        this.recordingTimer = null;
      }
      this.recordingDuration = 0;
    },


    // 检查语音功能是否可用
    isVoiceReady() {
      if (!this.voiceManager) {
        console.log('❌ 语音功能未就绪');
        return false;
      }
      return true;
    },


回答关注问题邀请回答
收藏

2 个回答

  • 一
    2025-11-19

    你不是打印了err吗,看err是啥呗

    2025-11-19
    有用
    回复 2
    • Jerry
      Jerry
      发表于移动端
      2025-11-19
      打印“语音识别失败”,直接按录音按钮就弹窗显示这个失败。只有正式发布上线的版本才会出现这个问题,测试版和体验版都能正常录音和语音转文字。正式版第一次按录音按钮都不会弹出录音授权那个弹窗按钮,直接就弹窗报错。而同样版本的体验版和测试版就会弹出授权,并且授权后就能正常录音和转文字。
      2025-11-19
      回复
    • 一
      2025-11-19回复Jerry
      具体的错误码是多少呢,参照文档看下呢,我们小程序都还在使用是没有问题的,除了说话不标准,或者听不清楚,一般都能正常的返回
      2025-11-19
      回复
  • 智能回答 智能回答 本次回答由AI生成
    2025-11-19
    有用
登录 后发表内容