AppleScript完成后播放声音

时间:2014-02-01 20:58:51

标签: applescript

我不知道如何使用AppleScript,我如何让我的小bash脚本首先工作在我之外。我目前正在使用AppleScript来运行我的bash脚本,它的工作非常棒。它在下面。

do shell script "/Users/john/Scripts/screenshot -i --delete"

现在它所引用的bash脚本是它将截取屏幕截图并将其上传到我的服务器;但是;

我希望它在完成后发出声音,我该怎么做呢? AppleScript是我所不知道的......

5 个答案:

答案 0 :(得分:19)

您可以使用 afplay

do shell script "afplay /Users/john/Sounds/vengabus.aiff"

或者我喜欢用文字说话:

say "Finished!"

答案 1 :(得分:8)

只是为了补充@adamh和@DigiMonk的优秀答案:

如果默认声音可以,那么好的旧beep可以完成这项工作:

beep  # beep once

如果一次还不够,只需指定所需的哔声数作为参数:

beep 2 # beep twice.

顺便提一下,beepsaydisplay notification都是在User Interaction字典StandardAdditions.sdef套件中定义的。要查看这些定义,请在AppleScript编辑器中选择File > Open Dictionary...,然后在弹出的列表中选择StandardAdditions.osax

答案 2 :(得分:7)

通知中心(可能仅限OS X 10.9.x)可以显示带声音的消息。

set variableWithSoundName to "Glass"
display notification "Upload complete" with title "Screenshot" subtitle "Status" sound name variableWithSoundName

-- "sound name" is the name of a sound located in "~/Library/Sounds"
--  or "/System/Library/Sounds"

display notification命令来自StandardAdditions

(...还有命令beep播放默认提示音并以“哔哔”数作为参数)

答案 3 :(得分:0)

您也可以播放随机声音!

do shell script "afplay /System/Library/Sounds/" & some item of paragraphs of ((do shell script "ls /System/Library/Sounds/")) ---random sound

答案 4 :(得分:0)

Alfred 2分配全局快捷方式来执行shell脚本“ afplay /Users/john/Sounds/vengabus.aiff” + Lion的Spark是很好的组合。