1

我正在尝试编写一个小的 AppleScript,它可以输出一串可以由另一个脚本操作的文本。这有效:

tell application "SpeechRecognitionServer"
    set display to no
    set theResponse to listen for {"yes", "no"}
    if theResponse is "yes" then
        display
    else
        say "Goodbye."

    end if
end tell

唯一的问题是它会重复您发出的命令!(在我们的例子中,是或否)。所以我的问题是:有没有办法防止它重复命令?我只是不明白为什么它会重复该命令,也无法弄清楚哪个进程运行语音,否则我会杀死它。

谢谢

4

1 回答 1

2

手动修复:
系统偏好设置 -> 语音 -> 语音识别选项卡
禁用“识别时”复选框。

程序修复:
这涉及在您的代码之前禁用这些首选项,然后将它们设置回其原始值。也就是说,如果您打算将此代码移植给其他用户。如果它只是您自己的个人脚本,那么手动修复可以永久设置它。

参考这个论坛的人问同样的问题,以及他们尝试过的各种方法: http://macscripter.net/viewtopic.php?id=
33259

于 2012-05-13T17:09:03.343 回答