我正在使用以下代码获取当前的iTunes流标题。这很好用。就像我需要它一样,每当iTunes流标题发生变化时脚本都会更新,变量Title也会自动更新。
repeat
tell application "iTunes"
set Title to current stream title
end tell
delay 2
end repeat
但是,由于正在进行的“重复”功能,脚本的其余部分将不会执行。当iTunes更改其标题时,您是否知道有任何方法仍然可以更新变量标题,但不会阻碍脚本的其余部分?好像它在后台运行?谢谢!
答案 0 :(得分:1)
解决方案,使用处理程序(处理程序也称为函数,子例程或方法)。 将脚本的其余部分放在处理程序中,从循环中调用此处理程序。
像这样:
set oldTitle to ""
repeat
set t to ""
try
tell application "iTunes" to set t to current stream title
end try
if t is not "" and t is not oldTitle then -- the title changed
set oldTitle to t
my doSomething(t) -- call the handler
end if
delay 3
end repeat
on doSomething(Title)
-- put the rest of the script here
end doSomething