语音识别文字

记录项目中的语音识别文字功能是怎么做的,有需要的可以借鉴一下,都是干货,简单实用。

实现原理:调用浏览器的API监听用户语音,浏览器监听到语音后,就会转成文字。

测试环境:Edge--免费(国内可用)   Safari--免费(国内可用)  Chorme--免费(需要科学上网)  FireFox--不支持

下面是代码函数干货:

注意我用的vue2写的,所以有一些语音展示的动画控制按钮和文本显示的代码。复制代码后,根据你的需求更改,然后直接调用函数即可

audioCHangeWord() { 
      this.AudioMsg=true //显示语音动画
      const that = this;
      that.context = "";
      // 创建SpeechRecognition对象
      // eslint-disable-next-line no-undef
      var recognition = new webkitSpeechRecognition()
      // console.log("recognition1", recognition);
      if (!recognition) { 
        // eslint-disable-next-line no-undef
        recognition = new SpeechRecognition();
      }
      // console.log("实例", recognition);
      // 设置语言
      recognition.lang = 'zh-CN';
      // 开始语音识别
      recognition.start();
      that.isListening = true;
      // 监听识别结果
      recognition.onresult = function (event) {
        console.log("监听结束--------");
        var result = event.results[0][0].transcript;
        console.log("监听结果:", result);
        that.AudioMsg=false//关闭语音动画
        that.context = result;//识别到的文本
      };

      // 监听错误事件
      recognition.onerror = function (event) {
        that.isListening = false;
        that.AudioMsg=false//关闭语音动画
        console.error(event.error);
      };
      // 监听结束事件(包括识别成功、识别错误和用户停止)
      recognition.onend = function () {
        that.isListening = false;
        that.AudioMsg=false
        console.log("语音识别停止");
      };
    },

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

茶杯茶凉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值