小编wid*_*ize的帖子

在AVMetadataItem上检索iOS中AVAsset的密钥名称

我试图在iPad上识别视频上的不同元数据项.到目前为止,我能够成功使用AVAsset库来查找文件,并使用生成AVMetadataItems数组metadataForFormat:.仅在文件中找到iTunes和Quicktime用户数据格式.现在的问题是我掌握了这些信息,我无法确定是什么.我打算用元数据键加载带有信息的字典,但是使用keyAVMetadataItem 的属性似乎不能正常工作,好像返回一个数字(调试器说它是一个NSCFNumber).以下是我正在做的一些示例代码:

ALAssetRepresentation *representation = [[valAsset defaultRepresentation] retain];
NSURL *url = [representation url];
AVURLAsset *aAsset = [[AVURLAsset URLAssetWithURL:url options:nil] retain];
metaDataDict = [[NSMutableDictionary dictionary] retain];
NSArray *fmtmetadata = [aAsset metadataForFormat:@"com.apple.itunes"];
for (AVMetadataItem* meta in fmtmetadata)
{
    [metaDataDict setObject:[meta stringValue]
             forKey:[meta key]];
    NSLog(@"metadata: key = %@", [meta key]);
}
Run Code Online (Sandbox Code Playgroud)

这会在调试器控制台中产生以下输出:

metadata: key = -1452383891
metadata: key = -1452841618
metadata: key = 1684370275
metadata: key = 1818518899
metadata: key = 1937009003
metadata: key = -1453101708
Run Code Online (Sandbox Code Playgroud)

顺便提一下,将NSLog行更改为:

NSLog(@"metadata: %@", …
Run Code Online (Sandbox Code Playgroud)

iphone video xcode ipad ios

8
推荐指数
1
解决办法
4528
查看次数

标签 统计

ios ×1

ipad ×1

iphone ×1

video ×1

xcode ×1