告诉iTunes打开.m3u播放列表文件

时间:2013-10-04 17:18:09

标签: bash applescript itunes

我正在尝试使用applescript在iTune中打开.m3u播放列表文件。我可以使用以下方式打开iTune播放列表文件:

#!/usr/bin/osascript
tell application "iTunes"
    play playlist "my playlist"
end tell

如何传递指向任何位置的.m3u文件的完整路径?类似的东西:

#!/usr/bin/osascript
tell application "iTunes"
    play playlist "/path/to/folder/file.m3u"
end tell

感谢。

2 个答案:

答案 0 :(得分:1)

由于你在评论的评论中指出你可以在iTunes中打开一个m3u播放列表并创建一个iTunes播放列表,那么我的建议就是这样做。首先发出“打开”命令,然后在iTunes中创建播放列表,然后发出“播放播放列表”命令。

假设在iTunes中创建的播放列表的名称是m3u文件的文件名,那么这可能有效。另请注意,applescript使用文件说明符,而不是文件的posix路径,因此我们使用“POSIX file”命令将posix路径转换为文件说明符。

我没有试过这个但是我最好的猜测是什么可能有效。祝你好运。

set posixPath to "/path/to/folder/fileName.m3u"
set fileSpecifier to POSIX file posixPath
tell application "iTunes"
    open fileSpecifier
    delay 1 -- delay however many seconds needed to allow the playlist to be created
    play playlist "fileName"
end tell

编辑 :当iTunes将您的m3u文件转换为iTunes播放列表时,可能会出现错误。 m3u文件中可能存在导致错误的内容。我不知道该为此提出什么建议。

但是,错误也可能来自POSIX文件命令。那时候有点敏感。因此,您可能尝试解决这种可能性的一件事是将该命令强制转换为文本,然后在字符串路径之前使用单词“file”创建说明符。所以试试吧。如果错误来自POSIX文件命令,则应该修复它。

set posixPath to "/path/to/folder/fileName.m3u"
set fileSpecifier to (POSIX file posixPath) as text
tell application "iTunes"
    open file fileSpecifier
    delay 1 -- delay however many seconds needed to allow the playlist to be created
    play playlist "fileName"
end tell

答案 1 :(得分:0)

您想使用命令行参数吗?

#!/usr/bin/osascript
tell application "iTunes"
    play playlist "$1/file.m3u"
end tell

$1是命令行参数(第一个)