2013-01-07 73 views
0

我有一个播放特定iTunes播放列表的applescript。连续播放iTunes

tell application "iTunes" 
    play user playlist myPlaylist 
end tell 

但是这只会播放一次播放列表,然后停止。我想要的是播放列表重新加载,然后连续播放,直到有人实际停止或暂停iTunes。

我试图修改代码,但它不起作用。

on idle 
    tell application "iTunes" 
    play user playlist myPlaylist 
    end tell 
end idle 

即使在iTunes停止之后,闲置代码实际上什么也不做。

我也尝试重新加载用户播放列表,但也不起作用。

tell application "iTunes" 
    repeat until player state is stopped 
     play user playlist myPlaylist 
    end repeat 
end tell 

谢谢。

回答

0

重复播放列表的代码不适用于iTunes 11.链接regulusy6633发布包含答案。下面的代码适用于iTunes 11.

tell application "System Events" to tell process "iTunes"'s menu bar 1's menu bar item "Controls"'s menu 1's menu item "Repeat"'s menu 1 
     perform action "AXPress" of menu item "All" 
    end tell 
1

如果您在iTune的applescript字典中查看“播放列表”类,您将看到它有一个名为“歌曲重复”的命令。也许这会帮助你。

tell application "iTunes" 
    tell user playlist myPlaylist 
     set song repeat to all 
     play 
    end tell 
end tell 

编辑:由于iTunes的版本11上面的代码将不再有效。有关解决方案,请参阅this question。我在那里发布了一个答案。

+0

非常感谢。这正是我想要的。 – Eric

+0

直到几天前,这一直很完美。现在,当我运行脚本时,这就是我所得到的。 'test.scpt:执行错误:iTunes出现错误:无法将用户播放列表“myPlaylist”的歌曲重复设置为全部。 (-10006)' – Eric

+0

我在我的答案中添加了一个编辑部分,可以帮助iTunes 11. – regulus6633