tab sheet icon guidelines buttons bar ios ios5 mpmediaitem

sheet - menu ios



iOS-MPMediaItem muestra una ilustraciĆ³n predeterminada (2)

MPMediaItemArtwork parece que siempre existe, incluso para las pistas que no tienen ilustraciones.

La forma en que detecto si no hay imagen es para ver si imageWithSize de MPMediaItemArtwork devuelve NULL.

O bien, reajustando un poco tu código:

_item = [_player nowPlayingItem]; UIImage *albumArtworkImage = NULL; MPMediaItemArtwork *itemArtwork = [_item valueForProperty:MPMediaItemPropertyArtwork]; if (itemArtwork != nil) { albumArtworkImage = [itemArtwork imageWithSize:CGSizeMake(250.0, 250.0)]; } if (albumArtworkImage) { _albumArtImageView.image = albumArtworkImage; } else { // no album artwork NSLog(@"No ALBUM ARTWORK"); _albumArtImageView.image = [UIImage imageNamed:@"kol.jpg"]; }

Espero que esta información te ayude (y si es así, marca esta respuesta como marcada :-)

Actualmente estoy desarrollando una aplicación que muestra qué artista, pista y arte del álbum estás escuchando en el reproductor de música. Todo va bien aparte de cuando reproduzco una canción sin ilustraciones. Quiero poder mostrar mi propia imagen predeterminada (en lugar de mostrar una pantalla en blanco).

La siguiente es cómo me imaginé que DEBERÍA funcionar, sin embargo, nunca llega a lo contrario, ya que el artículo ¡El trabajo nunca es nulo!

Tu ayuda es apreciada.

Gracias ben

_item = [_player nowPlayingItem]; MPMediaItemArtwork *itemArtwork = [_item valueForProperty:MPMediaItemPropertyArtwork]; if (itemArtwork != nil) { UIImage *albumArtworkImage = [itemArtwork imageWithSize:CGSizeMake(250.0, 250.0)]; _albumArtImageView.image = albumArtworkImage; } else { // no album artwork NSLog(@"No ALBUM ARTWORK"); _albumArtImageView.image = [UIImage imageNamed:@"kol.jpg"]; }


Si solo necesita verificar si la obra de arte existe o no (sin posiblemente tomar la imagen, que quema muchos ciclos de CPU), también puede verificar la propiedad itemArtwork.bounds . Si la obra de arte no existe, las propiedades de bounds.size.width y bounds.size.height serán 0:

MPMediaItemArtwork *artwork = [_item valueForProperty:MPMediaItemPropertyArtwork]; BOOL hasArtwork = (artwork.bounds.size.width > 0 && artwork.bounds.size.height > 0);