MediaPlayer pas d'espace réservé pochette de l'album
-
26-10-2019 - |
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é?
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 ».