яблочный скрипт воспроизводит случайный звук при нажатии cmd + enter - PullRequest
1 голос
/ 01 декабря 2010

Я ищу воспроизведение случайного звука из набора звуковых клипов в папке при нажатии cmd + enter. Яблочный скрипт всегда будет работать, и всякий раз, когда пользователь нажимает cmd +, вводит случайный звук (mp3), который воспроизводится без открытия iTunes, желательно за кулисами.

Спасибо!

Ответы [ 2 ]

1 голос
/ 02 декабря 2010

Я не знал о 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

Если у вас есть классический путь Mac в форме Macintosh HD:Users:you:Sounds:, тогда вы можете использовать property soundsDirectory : alias "Macintosh HD:Users:you:Sounds:", но любой из них будет работать. Команда some item of <list> просто возвращает случайный элемент из списка; вы должны пообещать AppleScript, что это будет псевдоним с as alias, чтобы вы могли извлечь из него путь в стиле Unix. Команда quoted form of <text> просто помещает текст в одинарные кавычки (при этом избегая одинарных кавычек) для использования в оболочке; afplay просто играет.

Для требования ⌘↩ я бы использовал Spark , хотя есть несколько вариантов. Spark работает в фоновом режиме и, среди прочего, позволяет вам выполнять AppleScript на комбинации клавиш. Я не знаю способа, чтобы AppleScript всегда работал, но это достаточно быстро, чтобы запустить, что это не должно быть проблемой. Вместо этого у вас всегда будет работать Spark.

0 голосов
/ 01 декабря 2010

Загрузите приложение с именем FastScripts , а затем установите новую горячую клавишу для cmd + enter и запустите ваш AppleScript, который воспроизводит случайный звук.

Вы можете использовать такой скрипт для воспроизведения случайного файла .wav с помощью QuickTime Player. Отредактируйте путь, чтобы указать местоположение (папку) ваших звуковых файлов. Отрегулируйте задержку, чтобы дать файлу достаточно времени для воспроизведения.

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...