最新文章
【技术开发】原生JS实现语音识别
一、语音识别技术简介
在当今数字化时代,语音识别技术正发挥着越来越重要的作用。它允许我们通过语音与设备进行交互,极大地提高了操作的便利性和效率。原生 JavaScript 为我们提供了一种在网页中实现语音识别的方法,无需依赖第三方库,让我们能够更加灵活地控制和定制语音识别功能。
二、代码详解
var recognitionResult = ''
if ('webkitSpeechRecognition' in window) {
// 创建一个webkitSpeechRecognition实例
const recognition = new window.webkitSpeechRecognition();
recognition.lang = 'zh-CN';
recognition.start();
recognition.continuous = true;
// 给大屏起个称呼,可以是一个,也可以多个
const keywords = ['小王', '小黑'];
// 监听语音,有小王或者小黑开头,就会记录下来
recognition.addEventListener('result', event => {
console.log(event)
console.log('识别结果...')
let num = event.results.length
num = num - 1
const transcript = event.results[num][0].transcript.trim().toLowerCase();
if (keywords.some(keyword => transcript.includes(keyword))) {
alert('识别到关键词')
recognitionResult = transcript;
document.body.innerText = recognitionResult;
}
});
//只要开始讲话了,就会触发onsoundstart和onspeechstart事件
recognition.onsoundstart = (e) => {
// recognition.start();
console.log(e);
}
recognition.onspeechstart = (e) => {
// recognition.start();
// console.log(e);
}
// onspeechend事件应该是监测到执行了stop方法时触发的。而如果一段时间没有录入信息,则会自动执行stop方法停止录音,同样也会触发onspeechend事件
recognition.onspeechend = (e) => {
recognition.stop();
console.log('onspeechend...');
}
// onend结束时候触发开始,保持一直在监听
recognition.onend = function () {
recognition.start();
}
}
三、应用场景和拓展
这种原生 JavaScript 实现的语音识别可以应用于多种场景,例如:
智能语音助手:在网页上创建一个简单的语音助手,用户可以通过特定的关键词唤醒助手,并进行交互。
语音输入表单:代替传统的键盘输入,提高输入效率,特别是对于行动不便或需要快速输入的用户。
语音控制网页游戏:让用户通过语音指令来控制游戏角色的动作,增加游戏的趣味性和互动性。
此外,还可以进一步拓展这个功能,比如:
增加更多的关键词和复杂的逻辑判断,以满足不同的应用需求。
结合语音合成技术,实现语音交互的双向通信,让网页能够回答用户的问题。
优化性能,减少资源占用,提高语音识别的准确性和响应速度。
通过以上的科普学习内容,希望你能够更好地理解和掌握使用原生 JavaScript 实现语音识别的方法,为你的网页开发带来更多的创新和可能性。