Я не совсем уверен, существует ли метод, позволяющий вам это сделать, но сейчас вы всегда можете использовать свойство iTunes * player state
, которое сообщает вам, что iTunes делает в настоящее время, возвращая одно из следующих пяти значений :
playing, stopped, paused, fast forwarding, rewinding
Используя это свойство, вы можете затем создать цикл repeat until player state is stopped
без каких-либо команд внутри него (по сути, дождитесь остановки воспроизведения текущей песни), а затем после цикла выполните все, что вы хотите. Этот параграф, переведенный в код, гласит:
tell application "iTunes"
repeat until player state is stopped
--do nothing until the song currently playing is stopped...
end repeat
--[1]...and then execute whatever you want here
end tell
ДОПОЛНИТЕЛЬНО
Если вы хотите запустить скрипт только один раз, вы можете вставить вышеописанный скрипт в бесконечный цикл repeat
, хотя вам может понадобиться сначала delay
немного, чтобы позволить вам запустить песню. В противном случае [1] будет выполнено сразу после запуска скрипта (при условии, что песни не используются).
код
repeat
delay 60 --1 minute delay
tell application "iTunes"
repeat until player state is stopped
--wait
end repeat
...
end tell
end repeat
Если у вас есть какие-либо вопросы, просто спросите. :)