设置:
我的新 Mac (Yosemite) 上有一堆音频文件。当我右键单击任何文件并执行“获取信息”时,它会在“更多信息”标签下为我提供有关该歌曲的详细信息,例如
目标:
我需要编写一个可以列出目录中所有歌曲的程序:
Album, Title, Year Recorded
.
.
.
问题:
我不知道该怎么做。我完全不熟悉 Mac 和 Objective-C
/Swift
(Objective-C
或 Swift
是我会的我想必须用它来编写这个程序??)
是否有 API 可以让我以编程方式访问此文件信息?还有其他语言可以用来编写这种程序吗?我已经知道的东西,比如 Java
、Python
等?
目前我还没有任何代码来显示“到目前为止我尝试过的内容”,因为我仍在寻找起点。任何指针将不胜感激。
最佳答案
如您所见,mdls
命令可以提供此元数据。您不应该尝试解析它。相反,您可以使用构建它所基于的相同 API。
您需要为感兴趣的文件获取 NSURL
。然后,您可以获得其元数据属性的字典,如下所示:
MDItemRef item = MDItemCreateWithURL(NULL, (__bridge CFURLRef)url);
NSArray* names = @[ (__bridge NSString*)kMDItemAlbum, /* ... */ ];
NSDictionary* dictionary = CFBridgingRelease(MDItemCopyAttributes(item, (__bridge CFArrayRef)names));
CFRelease(item);
现在,dictionary
包含所需的属性。
关于objective-c - 如何在 Mac 上以编程方式访问文件信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31641554/