Question

J'utilise le cadre du lecteur multimédia pour obtenir l'œuvre de la chanson en cours de lecture, mais chaque fois qu'une chanson est jouée qui n'a pas d'illustration de l'album, le UIImageView je charge l'œuvre dans est vide. Est-il possible d'avoir une image d'espace réservé qui est affiché à chaque fois une chanson sans l'illustration est joué?

Était-ce utile?

La solution

Voici comment j'utiliser un espace réservé pour des chansons qui n'ont pas l'illustration:

artworkImageView = [[UIImageView alloc] initWithFrame:CGRectMake(x,y,160,160)];

CGSize artworkImageViewSize = artworkImageView.bounds.size;
artwork = [currentItem valueForProperty:MPMediaItemPropertyArtwork];
if (artwork != nil) {
    artworkImageView.image = [artwork imageWithSize:artworkImageViewSize];
}else{
    artworkImageView.image = [UIImage imageNamed:@"NoAlbumArt.png"];
}

Autres conseils

Je suis tombé sur la même question ... Fondamentalement, il fonctionne parfaitement sur le simulateur, mais pas sur un périphérique réel ... au lieu que je l'ai fait ce qui suit:

artworkImageView = [[UIImageView alloc] initWithFrame:CGRectMake(x,y,160,160)];
CGSize artworkImageViewSize = artworkImageView.bounds.size;
artwork = [currentItem valueForProperty:MPMediaItemPropertyArtwork];
if (artwork != nil) {
     artworkImageView.image = [artwork imageWithSize:artworkImageViewSize];
     if(artworkImageView.image == NULL){
          artworkImageView.image = [UIImage imageNamed:@"NoAlbumArt.png"];
     }
}

et qui semblait résoudre le problème il fonctionne aussi bien sur le simulateur et le dispositif réel

Avant de modifier, s'il vous plaît assurez-vous que UIImageView est réglé sur « Fit Aspect » qui a fonctionné pour moi. Il n'a pas fonctionné quand j'avais « échelle à remplir ».

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top