设置缩略图mp3歌曲缩略图图像到我的imageView

时间:2013-12-23 11:55:21

标签: ios iphone objective-c

我想将我的MP3歌曲缩略图设置为我的Imageview;

我有一个包含5首歌曲的歌曲数组。我想将第一首歌曲缩略图设置为我的Imageview。

我的数组就是这个

mp3Array=[[NSArray alloc]initWithObjects:@"song",@"song1",@"song2",@"song3",@"song4", nil];

此行崩溃

MPMediaItemArtwork *itemArtwork = [song valueForProperty:
                                       MPMediaItemPropertyArtwork];

崩溃日志

由于未捕获的异常'NSInvalidArgumentException'而导致应用程序失败,原因:' - [__ NSCFConstantString valueForProperty:]:无法识别的选择器发送到实例0x8dd0

我尝试使用此代码设置缩略图但未设置缩略图使应用程序崩溃。

代码低于......

  MPMediaItem * song=[mp3Array objectAtIndex:delegate.count];

    UIImage *image = nil;

    MPMediaItemArtwork *itemArtwork = [song valueForProperty:
                                       MPMediaItemPropertyArtwork];
    if(itemArtwork != nil)

        image = [itemArtwork imageWithSize:CGSizeMake(100,100)];

[imgView setImage:image];

我可能错了。

帮我解决这个问题......

提前感谢..

2 个答案:

答案 0 :(得分:1)

好。这是您的问题:您的数组似乎包含NSString对象:

mp3Array=[[NSArray alloc]initWithObjects:@"song",@"song1",@"song2",@"song3",@"song4", nil];

如果您希望能够从数组中检索MPMediaItem个对象而不是MPMediaItem个对象,那么这些对象必须是NSString个对象。

答案 1 :(得分:0)

如果您声明UIImage *image = nil;,则没有ivar image。将该行替换为UIImage *image = [[UIImage alloc] init];。因此,您可以在imagewithSize - 语句之后使用if设置图片。