我的代码:
- (void)metadata {
AVURLAsset *asset = [AVURLAsset URLAssetWithURL:self.fileURL options:nil];
NSArray *artworks = [AVMetadataItem metadataItemsFromArray:asset.commonMetadata withKey:AVMetadataCommonKeyArtwork keySpace:AVMetadataKeySpaceCommon];
NSArray *titles = [AVMetadataItem metadataItemsFromArray:asset.commonMetadata withKey:AVMetadataCommonKeyTitle keySpace:AVMetadataKeySpaceCommon];
NSArray *artists = [AVMetadataItem metadataItemsFromArray:asset.commonMetadata withKey:AVMetadataCommonKeyArtist keySpace:AVMetadataKeySpaceCommon];
NSArray *albumNames = [AVMetadataItem metadataItemsFromArray:asset.commonMetadata withKey:AVMetadataCommonKeyAlbumName keySpace:AVMetadataKeySpaceCommon];
AVMetadataItem *artwork = [artworks objectAtIndex:0];
AVMetadataItem *title = [titles objectAtIndex:0];
AVMetadataItem *artist = [artists objectAtIndex:0];
AVMetadataItem *albumName = [albumNames objectAtIndex:0];
if ([artwork.keySpace isEqualToString:AVMetadataKeySpaceID3]) {
NSDictionary *dictionary = [artwork.value copyWithZone:nil];
self.currentSongArtwork = [UIImage imageWithData:[dictionary objectForKey:@"data"]];
}
else if ([artwork.keySpace isEqualToString:AVMetadataKeySpaceiTunes]) {
self.currentSongArtwork = …Run Code Online (Sandbox Code Playgroud) 我有以下问题要问:
如何使用iOS应用程序编译taglib?
我有点困惑,因为我将文件夹添加到我的项目中,尝试编译它,但它失败了1640错误.
如何使其成功编译 - 我问的原因是taglib允许从标签中提取专辑图片.
如果有人知道基于Objective-C的专辑图片提取类它会有所帮助 - 我不知道Apple为什么不在Core Foundation中添加这样做的方法 - 因为有一些方法可以从ID3标签中提取一些数据.
我不明白为什么没有一些 Objective-C的方法.
任何帮助赞赏.
编辑:
经过几个小时的尝试,我发现这里的Java函数似乎可以正常工作,但我还没有得到如何将其转换为Objective-C 的线索(或者更不用说C++)但是,它的类型似乎与Objective-C/C++中的类型完全不同.
如果有人知道转换它的方法它会真的有帮助,因为这似乎是我最后的选择,因为我已经尝试了很多其他的.