AppleScript事件监听

时间:2011-07-18 00:56:53

标签: events applescript itunes

我想让AppleScript给我当前在iTunes上播放的曲目名称。到目前为止,我已经让它得到了名字,并在歌曲播放完歌曲后刷新。

Delay Song_duration

我遇到的问题是用户是否手动跳过歌曲或更改歌曲;我可以看到被称为“下一首曲目”和“上一曲目”的事件,但似乎你不能做类似的事情:

if (next track) then

因为它在括号中执行事件。我想知道的是,是否有办法倾听这一事件。我对AppleScript了解不多,只是在网上寻找答案。

脚本的一般要点是我想用尽可能少的CPU /内存来获取音轨和艺术家的名字,否则我会延迟1。

1 个答案:

答案 0 :(得分:3)

基本上你不能用applescript来做。

只要名为“com.apple.itunes.playerInfo”的状态发生变化,iTunes就会发出系统范围的通知。因此,您需要使用可以接收系统通知的语言编写,例如objective-c。在该语言中,您在NSDistributedNotificationCenter下注册系统通知。一旦注册,您的程序将在后台运行,几乎不使用任何系统资源,然后当iTunes中的某些内容发生变化时,您的程序将收到通知,然后您使用iTunes执行某些操作。

Here's发布了类似问题的链接和几个解决方案。