Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos Applescript让iTunes通过Apple音乐URL播放专辑?_Macos_Command Line_Applescript_Itunes - Fatal编程技术网

Macos Applescript让iTunes通过Apple音乐URL播放专辑?

Macos Applescript让iTunes通过Apple音乐URL播放专辑?,macos,command-line,applescript,itunes,Macos,Command Line,Applescript,Itunes,我正在尝试编写iTunes脚本,以从shell脚本播放任意播放列表或任意专辑 我已通过以下方法解决了播放列表问题: osascript -e 'tell application "iTunes" to open location "'$url'?cmd=AddStation"' 其中url是指向播放列表的itmss://类型url。如果没有“cmd=AddStation”参数,它将不会自动播放 但是,这对相册URL不起作用。如果我执行: osascript -e 'tell applicati

我正在尝试编写iTunes脚本,以从shell脚本播放任意播放列表或任意专辑

我已通过以下方法解决了播放列表问题:

osascript -e 'tell application "iTunes" to open location "'$url'?cmd=AddStation"'
其中url是指向播放列表的itmss://类型url。如果没有“cmd=AddStation”参数,它将不会自动播放

但是,这对相册URL不起作用。如果我执行:

osascript -e 'tell application "iTunes" to open location "'$url'"'
如果url被定义为itmss://相册url,那么相册确实会出现在iTunes上,但不会开始播放。如果我告诉iTunes通过Applescript播放,它会开始播放整个iTunes库中的第一张专辑,而不是显示的专辑


一年前这里也有类似的问题;但是,该响应中提供的解决方案要求您知道要播放的第一首曲目的标题。有没有人想到一个更通用的解决方案,可以从命令行带来一张专辑,然后播放第一首曲目?

运行
osascript-s s-e'告诉应用程序“iTunes”返回每个订阅播放列表的名称,会返回什么结果“
?返回我过去添加到苹果音乐收藏中的苹果播放列表,但似乎与当前播放的内容无关。它看起来像:{80年代全家人的热门歌曲,“'80年代软摇滚精华”,“60年代热门歌曲精华”,“90年代独立音乐精华”…}我不使用苹果音乐,所以我可能不了解这项服务是如何运作的,但我有一个想法是,要么你们的订阅播放列表将包含任何你们有权用其URL打开的相册;或者,如果没有,您可以使用AppleScript创建一个新的订阅播放列表,其中包含相册中每首歌曲的URL曲目,然后您可以播放这些曲目。在AppleScript中,iTunes的相册实际上只是播放列表,它们可以包含URL流,并且可以通过命令播放。
/Applications/ememptures.app/Contents/Resources/*.sdef
只匹配
emptures.sdef
,这是一个与iTunes问题无关的完全通用文件。它与这个问题有什么关系?“订阅”播放列表只返回我添加到收藏中的每个苹果提供的播放列表的名称。如果我请求“每个播放列表”(而不是“每个订阅播放列表”),我也会在收藏中获得自己的自定义播放列表。但两者都不会返回我创建或尝试播放的电台或个人专辑。
osascript-e'告诉应用程序“iTunes”打开位置“$url”“”
会打开iTunes中与$url对应的专辑,但不会开始播放。似乎没有一种一致、优雅的方式让iTunes开始播放通过
open location
命令加载的任何资源。如果你只是告诉iTunes开始播放,它将播放整个曲目集中的第一首曲目,而不是屏幕上的曲目。看起来这里唯一的解决方案可能是一个屏幕抓取脚本,但我也看不到一个简单一致的方法来做到这一点。