gpt4 book ai didi

objective-c - AVFoundation 获取歌曲的专辑图片

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:27:22 26 4
gpt4 key购买 nike

我想获取专辑图片/歌曲封面。可能吗?我正在使用 AVPlayer 进行音频流传输,如果歌曲包含专辑封面,我需要获取专辑封面。就像在 iTunes 中一样。

解决方案:

UIImage *img = nil;
NSArray *metadata = _avplayer.currentItem.asset.commonMetadata;
for(AVMetadataItem *item in metadata){
if([item.commonKey isEqualToString:@"artwork"]){
NSData *data = item.value[@"data"];
img = [UIImage imageWithData:data];
return img;
}
}
return img;

最佳答案

你应该试试这个,但我用的是 MPMusicPlayer:

musicPlayer = [MPMusicPlayerController iPodMusicPlayer];
currentItem = [musicPlayer nowPlayingItem];
if (currentItem == nil) {
//Not playing
}
else
{
NSString *name = [currentItem valueForProperty:@"title"];
int length = [name length];
if (length > 30) {
name = [name substringWithRange:NSMakeRange(0, 30)];
name = [name stringByAppendingString:@"..."];
}
NSString *album = [currentItem valueForProperty:@"albumTitle"];
int lengthAl = [album length];
if (lengthAl > 30) {
album = [album substringWithRange:NSMakeRange(0, 30)];
album = [album stringByAppendingString:@"..."];
}
NSString *artist = [currentItem valueForProperty:@"artist"];
int lengthAr = [artist length];
if (lengthAr > 30) {
artist = [artist substringWithRange:NSMakeRange(0, 30)];
artist = [artist stringByAppendingString:@"..."];
}
MPMediaItemArtwork *artworkPrev = [currentItem valueForProperty:@"artwork"];
if (artworkPrev != nil)
{
UIImage *img = [artworkPrev imageWithSize:CGSizeMake(65, 65)];
UIImageView *imgNew = [[UIImageView alloc] initWithImage:img];
imgNew.frame = CGRectMake(-15,-20, 65, 65);
}
}

如您所见,我使用了 NSMakeRange,我使用它只是为了不在我的应用程序中留下空间。希望对你有帮助

关于objective-c - AVFoundation 获取歌曲的专辑图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7266929/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com