2012-05-13 56 views
1

我想寫一個小的AppleScript,可以輸出可以被另一個腳本操縱的文本字符串。這個工程: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 

唯一的問題是,它重複你發出的命令! (在我們的情況中,是或否)。所以我的問題是:有沒有辦法阻止它重複命令?我只是不明白爲什麼它重複命令,我也不知道哪個進程運行的聲音或我會殺死它。

感謝

回答

2

手動修復:
系統偏好設置 - >語音 - >語音識別選項卡
禁用 「經承認」 複選框。

Programatic修復程序:
這涉及在您的代碼之前禁用這些首選項,然後將它們設置回原來的值。也就是說,如果您打算將此代碼移植到其他用戶。如果只有它自己的個人腳本,那麼手動修復就可以永久地設置它。

參考這個論壇的人問同樣的問題,而且各種途徑,他們曾嘗試:
http://macscripter.net/viewtopic.php?id=33259

+0

有很大的幫助!謝謝! -EDIT-我已經取消選中說命令確認,將嘗試其他修復程序 –

+0

@ DenimVallorosi:當我測試你的相同代碼時,它是該pref中的複選框選項,導致它回覆與否。 – jdi

+0

真的嗎?我有我的殘疾和一些奇怪的原因,它總是說回...奇怪。我會嘗試其他例子。無論如何你幫助我! :) –