小编Fai*_*sal的帖子

如何在ios开发中从mp3文件中提取元数据

我正在开发一个带云存储的ios音乐播放器.

我需要提取音乐信息,如标题,艺术家,艺术品.

我有一个叫做playit的动作,可以播放和暂停mp3文件.它还应该使用与mp3文件关联的metadtaa填充一些UILables和UIImage.问题是我无法从不同的25个mp3文件中提取元数据.这是我的代码:

文件网址是正确的,因为音频播放器能够找到并播放它,但我不知道为什么avmetadataitem无法获取元数据.

- (IBAction)playIt:(id)sender {
AVAudioPlayer *audioPlayer;
AVAsset *assest;

NSString * applicationPath = [[NSBundle mainBundle] resourcePath]; 
NSString *secondParentPath = [applicationPath stringByDeletingLastPathComponent];
NSString *soundFilePath = [[secondParentPath stringByAppendingPathComponent:@"fisal1407"] stringByAppendingPathComponent:[musicFiles objectForKey:@"show_id"] ];

NSURL *fileURL = [NSURL URLWithString:[soundFilePath stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]];

assest = [AVURLAsset URLAssetWithURL:fileURL options:nil];
NSArray *metadata = [assest commonMetadata];
for (NSString *format in metadata) {
    for (AVMetadataItem *item in [assest metadataForFormat:format]) {
        if ([[item commonKey] isEqualToString:@"title"]) {
            filename.text = (NSString *)[item value];
            NSLog(@" title : %@", (NSString *)[item value]);
        } 
        if …
Run Code Online (Sandbox Code Playgroud)

metadata objective-c ios avmetadataitem avasset

7
推荐指数
1
解决办法
7043
查看次数

标签 统计

avasset ×1

avmetadataitem ×1

ios ×1

metadata ×1

objective-c ×1