如何用AppleScript选中iTunes高亮曲目并播放指定URL曲目?
解决iTunes脚本仅高亮曲目不播放的问题
我来帮你搞定这个问题!你遇到的情况是open location只是把曲目定位出来高亮,但没有触发播放动作。这里有几种可靠的解决方法:
方法1:选中高亮曲目并播放
这个方法基于你原来的逻辑,补充选中并播放的步骤:
use application "iTunes" property trackURL : "itmss://itunes.apple.com/us/album/brahms-violin-concerto-in-d-major-op-77-iii-allegro/145533236?i=145533044&uo=4" -- 打开URL定位到目标曲目 open location trackURL -- 给iTunes一点加载时间(根据你的库大小/网络情况调整,比如2秒) delay 1 -- 播放当前选中的高亮曲目 play selection
这里的delay很关键,因为iTunes需要一点时间加载并定位到曲目,直接执行play selection可能会因为还没完成加载而失效。
方法2:直接播放曲目URL(更高效)
其实iTunes的AppleScript支持直接播放指定的曲目URL,不需要先定位再选中,一步到位:
use application "iTunes" property trackURL : "itmss://itunes.apple.com/us/album/brahms-violin-concerto-in-d-major-op-77-iii-allegro/145533236?i=145533044&uo=4" -- 直接播放该URL对应的曲目 play location trackURL
这个方法更稳定,不需要等待加载,只要URL有效且你的账号有权限播放(比如已添加到库或订阅了Apple Music),就能直接启动播放。
方法3:通过曲目属性查找并播放(最可靠)
如果你的曲目已经在本地库中,还可以通过曲目ID、名称等属性直接定位播放,完全不依赖URL:
use application "iTunes" -- 从你的URL里提取的曲目ID:i=后面的数字145533044 set targetTrackID to "145533044" -- 查找库中匹配ID的曲目 try set targetTrack to first track of library playlist 1 whose persistent ID is targetTrackID -- 播放找到的曲目 play targetTrack on error display alert "未找到目标曲目,请确认ID是否正确或曲目已添加到库" end try
这种方法适合长期使用的脚本,不会因为URL失效而出问题,只要曲目在库中就能准确播放。
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

