我正在尝试从MP3文件中获取相册作品。
在这种情况下,我使用AVAudioPlayer
来播放文件。
以下是我认为会获得专辑封面的代码:
MPMusicPlayerController *controller = [MPMusicPlayerController applicationMusicPlayer];
MPMediaItem *current = controller.nowPlayingItem;
MPMediaItemArtwork *artwork = [current valueForProperty:MPMediaItemPropertyArtwork];
UIImage *artwork2 = [artwork imageWithSize:artwork.bounds.size];
[artworkView setImage:artwork2];
但是artworkView
不包含任何图像。
我有点卡住了。
如果任何人可以通过提供建议直接从ID3标签获取艺术品的地方或方式来提供帮助,那将非常有用。
任何帮助表示感谢。
答案 0 :(得分:4)
你必须使用enumerateValuesForProperties这里是一个示例:
[item enumerateValuesForProperties:[NSSet setWithObjects:MPMediaItemPropertyTitle,MPMediaItemPropertyAlbumTitle,MPMediaItemPropertyArtist,MPMediaItemPropertyArtwork,nil]
usingBlock:^(NSString *property, id value, BOOL *stop) {
if ([property isEqualToString:MPMediaItemPropertyTitle]){
if (value){
titre=value;
}else {
titre=@"";
}
}
if ([property isEqualToString:MPMediaItemPropertyArtist]){
if(value){
artist=value;
}else {
artist=@"";
}
}
if ([property isEqualToString:MPMediaItemPropertyArtwork]){
MPMediaItemArtwork *art=value;
if (art!=nil){
imgV.image=[art imageWithSize:CGSizeMake(self.view.bounds.size.width, self.view.bounds.size.width)];
}
}
}];