当您按cmd + enter时,我希望从文件夹中的一组声音片段播放随机声音。 AppleScript将始终运行,每当用户按下cmd +输入随机声音(mp3)时,无需打开iTunes即可播放,最好是在幕后。
谢谢!
答案 0 :(得分:1)
我不知道afplay
,但有了这个,这个简单的脚本就会这样做:
property soundsDirectory : POSIX file "/path/to/sounds/" as alias
tell application "System Events" to ¬
set soundFile to get POSIX path of (some item of soundsDirectory as alias)
do shell script "afplay " & quoted form of soundFile
如果您拥有Macintosh HD:Users:you:Sounds:
形式的经典Mac路径,那么您可以改为使用property soundsDirectory : alias "Macintosh HD:Users:you:Sounds:"
,但其中任何一个都可以使用。 some item of <list>
命令只返回列表中的随机项;你必须向AppleScript保证它将是as alias
的别名,所以你可以从中获得unix风格的路径。 quoted form of <text>
命令只是将文本放在单引号中(同时转义单引号)以便在shell中使用; afplay
只是播放它。
对于⌘↩要求,我会使用Spark,尽管有很多选项。 Spark在后台运行,允许您在键盘快捷键上执行AppleScript等。我不知道AppleScript总是运行的任何方法,但这足以启动,这应该不是一个问题。你将总是运行Spark。
答案 1 :(得分:0)
下载名为FastScripts的应用,然后为cmd + enter设置一个新的热键,让它启动播放随机声音的AppleScript。
您可以使用这样的脚本使用QuickTime Player播放随机的.wav文件。编辑路径以指向声音文件的位置(文件夹)。调整延迟以便有足够的时间播放文件。
tell application "Finder"
set soundFiles to every item of alias "Macintosh HD:sounds" --enter path to folder
set fileCount to count of items in soundFiles
set randomSound to random number from 1 to fileCount
open item randomSound of soundFiles
end tell
tell application "QuickTime Player"
set visible of every window to false
play document 1
delay 20 --adjust to allow for length of sound file
quit
end tell