答案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 无法知道歌曲何时开始或停止,因为显示的歌曲信息不一定与通过流播放的音频文件相关(例如,有些电台只显示电台名称,没有歌曲信息。。)
希望这可以澄清一些情况。