uni-app中关于调用语音输入的问题求解答

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

uni-app中关于调用语音输入的问题求解答

在手机app端,使用plus.speech.startRecognize()调用了语音识别的功能,来实现语音输入,因为目前讯飞不支持,只能使用百度的语音识别,申请了百度语音相关的key :唤起语音识别失败,点击事件触发后秒关,请问是什么问题?

https:https://www.itying.com/uniimg.php?url=https://img-cdn-tc.dcloud.net.cn/uploads/questions/20211022/934705d7b679bc68d0451d46b693df5b.png

https:https://www.itying.com/uniimg.php?url=https://img-cdn-tc.dcloud.net.cn/uploads/questions/20211022/166979ef204dce3cca5c7c365a2bc86e.png


6 回复

自顶1楼。哎,


问题解决了吗

问题解决了吗

问题解决了吗

自定义基座?以及创建应用名称是否和app名称一致

在uni-app中调用语音输入功能,你可以使用uni.getRecorderManager()来获取录音管理器,然后通过配置和调用相关接口来实现语音输入功能。以下是一个简单的示例代码,展示如何在uni-app中实现语音输入功能。

首先,确保你的manifest.json文件中已经配置了必要的权限,比如麦克风权限:

"mp-weixin": {
  "requiredPrivateInfos": ["recordAudio"]
}

然后,在你的页面或组件的脚本部分,可以这样实现语音输入功能:

<template>
  <view>
    <button @click="startRecord">开始录音</button>
    <button @click="stopRecord" :disabled="!isRecording">停止录音</button>
    <text>{{ transcript }}</text>
  </view>
</template>

<script>
export default {
  data() {
    return {
      isRecording: false,
      transcript: '',
      recorderManager: null
    };
  },
  onLoad() {
    this.recorderManager = uni.getRecorderManager();

    this.recorderManager.onStart(() => {
      console.log('录音开始');
      this.isRecording = true;
    });

    this.recorderManager.onStop((res) => {
      console.log('录音停止', res);
      this.isRecording = false;
      // 这里可以添加将录音文件上传到服务器,并调用语音识别API的代码
      // 例如:uploadAudioFile(res.tempFilePath).then(result => {
      //   this.transcript = result.transcript;
      // });
      // 下面的示例代码直接模拟了一个语音识别结果
      this.transcript = '模拟的语音识别结果:你好,世界!';
    });

    this.recorderManager.onError((err) => {
      console.error('录音错误', err);
    });
  },
  methods: {
    startRecord() {
      this.recorderManager.start({
        format: 'mp3' // 或者 'aac'
      });
    },
    stopRecord() {
      this.recorderManager.stop();
    }
  }
};
</script>

<style>
/* 添加你的样式 */
</style>

注意:

  1. 上面的代码只是展示了如何开始和停止录音,并模拟了一个语音识别结果。在实际应用中,你需要将录音文件上传到服务器,并调用服务器端的语音识别API来获取真实的语音识别结果。

  2. uni.getRecorderManager()是uni-app提供的录音管理器,它提供了开始录音、停止录音、监听录音状态等接口。

  3. 不同的平台(如微信小程序、H5、App等)可能需要额外的配置或权限申请,请参考uni-app官方文档进行配置。

  4. 语音识别服务通常是由第三方提供的,比如阿里云、腾讯云等,你需要根据自己的需求选择合适的语音识别服务,并调用其API进行语音识别。

回到顶部