You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无需键鼠,通过语音触发JavaScript函数的技术实现咨询

实现无键鼠操作的语音触发JavaScript函数

Hey there! Let's tackle your goal of triggering JavaScript functions without any mouse or keyboard input—just using your voice. Here's a refined implementation that meets your needs, plus a breakdown of how it all works:

核心实现代码

function startDictation1() {
    // 初始化Web Speech API的语音识别对象
    var SpeechRecognition = window.webkitSpeechRecognition;
    var recognition1 = new SpeechRecognition();
    
    // 关联页面元素(注意修正原代码的选择器错误)
    var Textbox = $('#transcript1');
    var instructions = $('#instructions');
    var Content = '';

    // 设置持续识别模式,支持连续语音输入
    recognition1.continuous = true;

    // 处理语音识别结果
    recognition1.onresult = function(event1) {
        var current = event1.resultIndex;
        var transcript = event1.results[current][0].transcript;
        Content += transcript;
        Textbox.val(Content.toLowerCase());
        
        // 自定义语音指令:识别到特定词汇时触发目标函数
        if (Content.toLowerCase().includes('启动任务')) {
            yourTargetFunction();
            // 可选:触发后清空内容,避免重复触发
            Content = '';
            Textbox.val('');
        }
    };

    // 识别启动时的提示信息
    recognition1.onstart = function() {
        instructions.text('语音识别已开启,请说话');
    };

    // 语音停止时的提示,可选自动重启识别
    recognition1.onspeechend = function() {
        instructions.text('暂无语音输入');
        // 如果需要持续监听,取消下面注释即可
        // recognition1.start();
    };

    // 处理识别错误(比如无语音输入的情况)
    recognition1.onerror = function(event1) {
        if (event1.error == 'no-speech') {
            instructions.text('未检测到语音,请重试');
        }
    };

    // 页面加载完成后自动启动识别,彻底移除键鼠依赖
    $(document).ready(function() {
        recognition1.start();
    });

    // 同步文本框手动输入的内容到Content变量
    Textbox.on('input', function() {
        Content = $(this).val();
    });
}

// 替换为你实际需要触发的业务函数
function yourTargetFunction() {
    alert('目标函数已通过语音触发!');
}

// 页面加载时初始化语音识别
$(document).ready(function() {
    startDictation1();
});

关键改进与说明

  • 完全移除键鼠依赖:把原代码中按钮启动识别的逻辑,改成页面加载后自动启动,不需要任何手动操作。
  • 自定义语音指令:在onresult回调里添加了关键词判断逻辑,你可以把'启动任务'改成任何你想用的触发词。
  • 修正原代码问题:修复了原代码中$('instructions')的选择器错误(应该是$('#instructions'),对应页面中ID为instructions的元素)。
  • 灵活的监听模式:如果需要持续保持识别状态,可以在onspeechend回调里重新调用recognition1.start(),实现不间断监听。

注意事项

  • 浏览器兼容性:Web Speech API目前主要支持Chrome、Edge等Chromium内核浏览器,Firefox、Safari支持有限。
  • 环境要求:出于安全规范,该API仅在HTTPS环境或localhost本地调试环境下可用。
  • 权限申请:首次打开页面时,浏览器会请求麦克风权限,需要用户允许才能正常使用。

内容的提问来源于stack exchange,提问作者Ali Ammar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 21:57:33