获取iTunes上的当前曲目文件位置

时间:2011-11-24 08:46:35

标签: macos applescript

我试图使用此脚本从当前itunes轨道检索文件位置:

on open info
    tell application "iTunes"
        set songLocation to get location of current track
    end tell
    return songLocation
end open

然后是代码:

desc = [_getFileLocScript runScript:someScript];
result = [desc stringValue];
NSLog (@"%@", result); //it shows null value.
NSLog (@"%@", desc); //it shows some numbers and key "alis".

输出:

<NSAppleEventDescriptor: 'alis'($000000000232000200000A4C656F7......FFFF0000$)>

问题是,这个文件位置信息从iTunes的Applecript中实际返回了什么?

1 个答案:

答案 0 :(得分:1)

Applescript风格的路径与您可能习惯的路径略有不同。因此,对您来说最简单的方法是获得您喜欢的风格的路径。因此,在你的AppleScript代码中,我会将你的代码行改为这样,以获得一个斜杠分隔的字符串,例如.. /Users/username/Desktop/somefile.txt

return posix path of songLocation

然后,一旦在cocoa中返回了值,就可以看到desc是一个NSAppleEventDescriptor。因此,如果您在文档中查找它,您将看到它没有“stringValue”方法,但它确实有一个“字符串”方法,所以使用它。因此,改变你的行......

result = [desc string];