4

Я пытаюсь получить обложку альбома из файла MP3.Получить обложку альбома из файла MP3/ID3

В этом случае я использую 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, это было бы очень полезно.

Любая помощь приветствуется.

ответ

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 { 
              [email protected]""; 
             } 
            } 
            if ([property isEqualToString:MPMediaItemPropertyArtist]){ 
             if(value){ 
              artist=value; 
             }else { 
              [email protected]""; 
             } 

            } 
            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)]; 
            } 

            } 


           }];