目录vue实现录音并转文字功能,包括PC端,手机端和企业微信自建应用端 不止vue,不限技术栈,vue2、vue3、react、.net以及原生js均可实现。 原理浏览器实现录音并转文字最快捷的方法是通过Web Speech API来实现,这是浏览器内置示例的api方法,可以直接调用,无需引入任何依赖包,唯一需要注意的是浏览器的兼容性,详细可检察官方文档 实现过程[code]<template> <button @click="toggleSpeechRecognition ">{{ isSpeaking?'开始':'制止' }}录音</button> <span>{{ prompt }}</span> </template> <script setup lang="ts"> import { ref } from 'vue' //测试语音辨认 const prompt = ref('') const isSpeaking = ref(false); let recognition: any = null; let finalResult = ''; // 生存最闭幕果的变量 let interimResult = ''; // 生存中心结果的变量 const toggleSpeechRecognition = () => { if (!recognition) { recognition = new webkitSpeechRecognition(); recognition.continuous = true; recognition.interimResults = true; recognition.lang = 'zh-CN'; recognition.onresult = event => { interimResult = ''; // 清空中心结果 for (let i = event.resultIndex; i < event.results.length; i++) { if (event.results[i].isFinal) { finalResult += event.results[i][0].transcript; } else { interimResult += event.results[i][0].transcript; } } prompt.value = finalResult + interimResult; }; } if (isSpeaking.value) { finalResult = ''; recognition.stop(); } else { recognition.start(); } isSpeaking.value = !isSpeaking.value; }; </script>[/code]避坑指南1.http标题导致录音失败:我相信99.9%的人当地开发情况启动的都是http,当前主流浏览器出于安全考虑克制http的应用调用麦克风,需要在浏览器高级设置中添加白名单,详细操作为: chrome浏览器地点栏中输入chrome://flags/#unsafely-treat-insecure-origin-as-secure,回车,在Insecure origins treated as secure这栏中添加你的应用地点,将该选项置为Enabled,然后点击右下角弹出的Relaunch按钮。 这里需要注意的是,你的电脑需要有音频录入装备,查抄次序为:先查抄电脑是否有音频录入装备(是否正常)-> 再添加浏览器安全白名单。 2.应用是否被其他规则限制调用麦克风 1.iframe内部应用不答应直接调用麦克风,只能通过postMassage实现iframe表里部通信,调用外部体系的方法来调用麦克风,详细我会在单独的文章将iframe表里部通信; 到此这篇关于vue实现录音并转文字功能,包括PC端web,手机端web的文章就先容到这了,更多相关vue录音转文字内容请搜刮脚本之家以前的文章或继续浏览下面的相关文章盼望大家以后多多支持脚本之家! 来源:https://www.jb51.net/javascript/3266376yu.htm 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
|手机版|小黑屋|梦想之都-俊月星空
( 粤ICP备18056059号 )|网站地图
GMT+8, 2025-7-2 14:53 , Processed in 0.042874 second(s), 19 queries .
Powered by Mxzdjyxk! X3.5
© 2001-2025 Discuz! Team.