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(使用前将#替换为@)