1

这是我的代码,它不适用于任何 mp3 文件:

           //define AVassets
                NSURL *assetUrl2 = [[NSURL fileURLWithPath:
                [assetLoc stringByAppendingPathComponent:title]] 
                URLByAppendingPathExtension:ext]

                AVAsset *asset2 = [AVURLAsset URLAssetWithURL:assetUrl2 
                options:nil];

           //print asset url       
                NSString *encodedString = [assetUrl2 absoluteString];  
                NSLog(@"song name%@",encodedString); //this prints the valid url

                NSArray *origMetadata = 
                [asset2 metadataForFormat:AVMetadataFormatID3Metadata];
               for (AVMetadataItem *item in origMetadata) {
               NSLog(@"*** ID3 tags found");
               NSString *keys = (NSString *)[item key];
               NSString *value = [item stringValue];
               NSLog(@"value for tag:%@ is:%@", keys, value);
            }

但是,如果我换...

`NSArray *origMetadata = 
[asset2 metadataForFormat:AVMetadataFormatID3Metadata];` 

和...

`NSArray *origMetadata = 
[asset2 metadataForFormat:AVMetadataFormatiTunesMetadata];` 

并加载 AAC 文件而不是 MP3 文件,它可以工作。显然我在这里遗漏了一些东西。任何帮助,将不胜感激。谢谢你。

4

0 回答 0