有没有办法在当前播放的电台歌曲结束后停止 iTunes?

有没有办法在当前播放的电台歌曲结束后停止 iTunes?

虽然脚本如下这是最后一首歌只玩这个非常适合播放本地歌曲,但它们似乎无法与互联网电台一起使用凹槽沙拉尽管 iTunes 中显示了当前播放的歌曲的名称和艺术家。

有人知道我如何才能获得此功能吗?

答案1

我前段时间就弄清楚了这一点,(我想我设法通过谷歌搜索到了代码或者其他什么东西)。

tell application "iTunes"
    try
        if (get current stream title) is not missing value then
            set lastSong to current stream title
        end if
    end try
end tell

tell application "iTunes"
    repeat until current stream title is not equal to lastSong
        delay 1
    end repeat
    stop
    tell me to quit
end tell

我是编程新手,因此如果有更好的编码方法,请告诉我。

编辑:我的代码可能基于 Doug Adams 的《This is The Last Song》和《Just Play This One》脚本。如果/当我有时间时,我会看看是否可以将我们的代码结合在一起,制作出适用于所有事物的脚本。

答案2

我认为目前 iTunes 的工作方式无法实现这一点。我推测歌曲名称和艺术家信息是从您正在收听的互联网电台流式传输给您的,而不是在新歌发布后更新。您可能会在某些电台上注意到这一点,因为由于缓冲,音频会落后于更新的歌曲信息。

另一点需要指出的是,由于您正在收听互联网电台,因此音频是流式传输的,而不是加载/卸载的。歌曲之间的音频流没有任何中断。iTunes 无法知道歌曲何时开始或停止,因为显示的歌曲信息不一定与通过流播放的音频文件相关(例如,有些电台只显示电台名称,没有歌曲信息。。)

希望这可以澄清一些情况。

相关内容