[FIXED] MPNowPlayingInfoCenter : Was ist der beste Weg, um MPMediaItemArtwork von einer URL festzulegen?

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)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like