如何在applescript中进行用户语音输入

如何在applescript中进行用户语音输入,applescript,Applescript,我希望能够在程序中接收用户的输入,让他们说出来,而不是在文本框中输入。有没有办法做到这一点 如果您将用于开始听写的快捷方式(系统首选项>键盘>听写>快捷方式)更改为两次按左命令键或两次按任一命令键,则可以使用系统事件触发此快捷方式(前提是获得必要的许可): 或者,您可以触发菜单项: tell application "System Events" to tell ¬ (the first process whose frontmost is true) to tell ¬

我希望能够在程序中接收用户的输入,让他们说出来,而不是在文本框中输入。有没有办法做到这一点


如果您将用于开始听写的快捷方式(系统首选项>键盘>听写>快捷方式)更改为两次按左命令键或两次按任一命令键,则可以使用系统事件触发此快捷方式(前提是获得必要的许可):

或者,您可以触发菜单项:

    tell application "System Events" to tell ¬
        (the first process whose frontmost is true) to tell ¬
        menu bar 1 to tell ¬
        menu bar item "Edit" to tell ¬
        menu "Edit" to tell ¬
        menu item "Start Dictation" to ¬
        if exists then click it
tell application "System Events" to tell ¬
    (the first process whose frontmost is true) to tell ¬
    menu bar 1 to tell ¬
    menu "Edit" to tell ¬
    menu item "Start Dictation" to ¬
    if exists then click it

编辑以更正
菜单项
链的引用,如所突出显示的,这之前阻止了它在*Google Chrome*

@CJK中工作,这确实值得投票,因为这只是他彻底答案的调整延伸

根据@CJK的解决方案

或者,您可以触发菜单项:

在almtost中工作过我测试上述代码的每个应用程序…它在Google Chrome中不起作用

tell application "System Events" to tell (the first process whose frontmost is true)
    tell menu bar 1 to tell menu bar item "Edit"
        tell menu "Edit"
            try
                click menu item "Start Dictation"
            end try
        end tell
    end tell
end tell
然而,这一对其原始代码的微小调整,将在谷歌Chrome中起作用

tell application "System Events" to tell (the first process whose frontmost is true)
    tell menu bar 1 to tell menu bar item "Edit"
        tell menu "Edit"
            try
                click menu item "Start Dictation"
            end try
        end tell
    end tell
end tell

让这两种解决方案中的任何一种真正“启用听写”在运行代码之前,鼠标光标必须位于允许文本输入的字段中。

是的,您可以在macOS中启用听写,通常是双击任何输入字段中的
fn
键。@CJK我已经在这样做了,我的问题是如何在applescript程序中执行。如果我没有在下面清除代码,请原谅或者,您可以触发菜单项:“,如编码所示,被解释为进程1菜单栏1的菜单“编辑”的菜单项“开始听写”,其最前端=true,并且它将始终返回
false
,因为“编辑”上没有“开始听写”命令“菜单。这是
开始听写…
因为你忘了省略号。:@user3439894很高兴过一会儿又读到你的话。”。我相信只有在系统首选项中禁用全系统听写时,它才包含省略号。激活时,菜单项不包含省略号。前者(带)是一个菜单项,允许用户在不输入系统首选项的情况下打开系统范围的听写。后者是显示听写输入法的菜单项,也是OP感兴趣的输入法。[系统信息:AppleScript版本:“2.7”,系统版本:“10.13.4”]好的,听起来不错。。。就我个人而言,我不使用内置听写功能,因此它在系统首选项中没有打开,以及为什么它在我的菜单上有省略号,并且根据您的解释,测试时返回的代码返回
false
:)我很确定“或者,您可以触发菜单项:”要正确工作,鼠标光标必须位于允许文本输入的字段中,否则,“编辑”菜单上的“开始听写”命令将变灰。@wch1zpink在这种情况下,
单击
操作将不会执行任何操作,我认为在大多数实际使用情况下,这将是理想的结果。不会抛出任何错误。在我看来,这显然是正确的,但我很高兴接受任何建议,你可能希望看到它以不同的方式实施。现在如何结束它…“三点和取消”。。。。我想点击完成,如果听写是在使用脚本。。。要启用听写,我使用:将应用程序“系统事件”告知键代码176