如何在 Mac 上以编程方式访问文件信息?

2024-06-22

Setup:

我的新 Mac (Yosemite) 上有一堆音频文件。当我右键单击任何文件并执行“获取信息”时,它会在“更多信息”标签下提供有关该歌曲的详细信息,例如

客观的:

我需要编写一个可以列出目录中所有歌曲的程序,如下所示:

Album, Title, Year Recorded
.
.
.

Problem:

我不知道该怎么做。我对 Mac 完全陌生Objective-C/Swift (Objective-C or Swift我想我必须用它来编写这个程序??)

是否有 API 可以让我以编程方式访问此文件信息?还有其他语言可以用来编写此类程序吗?我已经知道的事情,比如Java, Python, etc.?

到目前为止,我没有任何代码来显示“到目前为止我已经尝试过的内容”,因为我仍在寻找起点。任何指示将不胜感激。


正如您所注意到的,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);

Now, dictionary包含所需的属性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Mac 上以编程方式访问文件信息? 的相关文章

随机推荐