Ausgabe
Alle Methoden, die ich gefunden habe, um MPMediaItemArtwork von MPNowPlayingInfoCenter festzulegen, sind mit lokalen Bildern. MPMediaItemArtwork *albumArt = [[MPMediaItemArtwork alloc] initWithImage: [UIImage imageNamed:@”myimage”];
Aber ich muss dies von einer imageURL aus festlegen
Aktuell verwende ich diese…
UIImage *artworkImage = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:self.currentTrack.imageUrl]]];
MPMediaItemArtwork *albumArt = [[MPMediaItemArtwork alloc] initWithImage: artworkImage];
[self.payingInfoCenter setValue:albumArt forKey:MPMediaItemPropertyArtwork];
Irgendeine Idee?
Lösung
Das ist meine beste Lösung:
- (void)updateControlCenterImage:(NSURL *)imageUrl
{
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(queue, ^{
NSMutableDictionary *songInfo = [NSMutableDictionary dictionary];
UIImage *artworkImage = [UIImage imageWithData:[NSData dataWithContentsOfURL:imageUrl]];
if(artworkImage)
{
MPMediaItemArtwork *albumArt = [[MPMediaItemArtwork alloc] initWithImage: artworkImage];
[songInfo setValue:albumArt forKey:MPMediaItemPropertyArtwork];
}
MPNowPlayingInfoCenter *infoCenter = [MPNowPlayingInfoCenter defaultCenter];
infoCenter.nowPlayingInfo = songInfo;
});
}
/!\ Wenn Sie das bereits gesetzt haben MPNowPlayingInfoCenter
, erhalten Sie es oder alle anderen Werte werden überschrieben
Beantwortet von – Damien Romito
Antwort geprüft von – Clifford M. (FixError Volunteer)