当前位置: 首页 > article >正文

腾讯IM web版本实现迅飞语音听写(流式版)

本文基于TUIKit Demo项目集成迅飞语音听写(流式版)功能:

在这里插入图片描述

主要代码:

// \src\TUIKit\components\TUIChat\message-input\index.vue
<template>
	<!-- 录音按钮 -->
	<div @touchstart.stop="touchstart" />
	<!-- 输入框 -->
	<MessageInputEditor  ref="editor"/>
</template>

<script setup lang="ts">
// xf-voice代码请参考本文附件
import { IatRecorder } from './xf-voice'

let xfVoice = null

const getPermission = () => {
return navigator.mediaDevices.getUserMedia({ audio: true })
}

const initXFVoice = (webSocketUrl) => {
    // 实例化迅飞语音听写(流式版)WebAPI
    let times = null
    xfVoice = new IatRecorder({
      APPID: '填写自己的APPID',
      webSocketUrl,
      onWillStatusChange: function (oldStatus, newStatus) {
      },
      onTextChange: function (text, sliceText) {
          //监听识别结果的变化
          if(sliceText) {
            xfVoiceWaiting.value = false
            editor.value.setEditorContent(sliceText)
          }
      }
    });
}

const touchstart = (event: any) => {
	// 获取网页录音授权
	getPermission().then(() => {
      xfVoice?.start()
    }, (error) => {
        console.log(`${error.name} : ${error.message}`);
    })
}

onMounted(() => {
 // getXFVoiceAuthUrl请求获取webSocket鉴权地址,接口需要后端提供
  getXFVoiceAuthUrl({}).then(res => {
    if(res?.data?.code == 200) {
      initXFVoice(res.data.data.url)
    } else {
      console.error('语音授权认证失败)
    }
  }).catch((e) => {
    console.error(e)
  })
})

</script>

对于uniapp 微信小程序版本的实现,后续文章会给出。


http://www.kler.cn/a/396268.html

相关文章:

  • js像循环数组那样循环一个数字,Array.from()
  • Python Web 应用开发基础知识
  • 11.13机器学习_线性回归
  • 领夹麦克风哪个品牌好,手机领夹麦克风哪个牌子好,选购推荐
  • web与网络编程
  • 一文说清libc、glibc、glib的发展和关系
  • Vagrant 没了 VirtualBox 的话可以配 Qemu
  • 自动驾驶系列—自动驾驶中的短距离感知:超声波雷达的核心技术与场景应用
  • Linux:进程间通信
  • 每日一练 | 包过滤防火墙的工作原理
  • 什么是C++中的常量表达式?有什么用途?
  • 三菱变频器A800逆变器模块及整流桥模块的检查方法
  • 【计算机网络】TCP协议特点1
  • 前端知识点---Window对象(javascript)了解
  • mybatis-spring-boot-starter和mybatis-plus-spring-boot3-starter冲突
  • 更改 Jupyter Notebook 中文件的存放位置
  • PHP承兑汇票识别API-承兑汇票如何快速识别-私有化部署集成
  • 探索 HTML 和 CSS 实现的模拟时钟
  • 鸿蒙学习生态应用开发能力全景图-赋能套件(1)
  • 机器学习:梯度提升树(GBDT)——基于决策树的树形模型
  • 面试时问到软件开发原则,我emo了
  • swagger (一)导出iOS包
  • 奥迪股份如何通过升级至SAP S/4HANA实现财务与后勤的高效整合?
  • 将答题成绩排行榜数据通过前端生成excel的方式实现导出下载功能
  • 【C/C++】序列化使用Json还是Protocol Buffer?
  • debian 系统更新升级