MediaPlayer non segnaposto copertine degli album
-
26-10-2019 - |
Domanda
Sto utilizzando il framework lettore multimediale per ottenere l'artwork del brano che è attualmente in riproduzione, ma ogni volta che un brano viene riprodotto che non ha le copertine degli album, l'UIImageView ho caricare l'opera d'arte in è vuoto. C'è un modo per avere un'immagine segnaposto che viene visualizzato ogni volta che una canzone senza materiale illustrativo è giocato?
Soluzione
Questo è come io uso un segnaposto per canzoni che non hanno dell'opera:
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"];
}
Altri suggerimenti
Ho incontrato lo stesso problema ... in pratica funziona perfettamente sul simulatore, ma non su un dispositivo reale ... invece ho fatto il seguente:
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"];
}
}
e che sembrava risolvere il problema in modo che funziona sia sul simulatore e dispositivo reale
Prima di apportare modifiche, si prega di accertarsi che UIImageView sia impostato su "Aspetto Fit", che ha lavorato per me. Non ha funzionato quando ho dovuto "Scala di colmare".