1

在使用 Finder 时,我需要获得与“获取信息”相同的信息;更具体地说,我需要“更多信息”部分中存在的相同信息,例如持续时间、比特率、维度、编解码器、音频通道等。

要获取大小、类型等基本信息,我有:

// Getting the file's attributes
NSError *error;
NSFileManager *fm = [NSFileManager defaultManager];
NSDictionary *fileInfo = [fm attributesOfItemAtPath:fileName error:&error];

是否有任何本地 Cocoa 库来获取此信息?

4

2 回答 2

4

我需要在使用 Finder 时获得与“获取信息”相同的信息,更具体地说,我需要在“更多信息”部分中出现的相同信息,例如持续时间、比特率、维度、编解码器、音频通道, ETC。

以与 Finder 相同的方式执行此操作:Spotlight。(不要让路径中的“Carbon”一词吓跑您:它是核心服务的一部分,因此它在 64 位中可用。)只需为您感兴趣的文件实例化一个 MDItem。

另一种方法是使用 Foundation 自己的该框架的包装器(包含在该页面上),但是您需要执行 NSMetadataQuery 来搜索kMDItemPath您感兴趣的文件路径的项目。很多不必要的麻烦——直接使用 MDItem 会让你更快地到达那里。

一个不错的好处是,这不仅仅适用于视频和音频文件。图像文件还具有 Finder 和您的应用程序可以显示的元数据。

于 2010-01-29T05:35:10.163 回答
0

创建一个QTMovie实例,然后使用-movieAttributes消息查询其属性。

于 2010-01-29T04:57:27.257 回答