Sto lavorando per aggiornare MPNowPlayingInfoCenter e avere un po 'di problemi. Ho provato un bel po 'al punto in cui sono in perdita. Quanto segue è il mio codice:MPNowPlayingInfoCenter defaultCenter non aggiornerà o recupererà le informazioni
self.audioPlayer.allowsAirPlay = NO;
Class playingInfoCenter = NSClassFromString(@"MPNowPlayingInfoCenter");
if (playingInfoCenter) {
NSMutableDictionary *songInfo = [[NSMutableDictionary alloc] init];
MPMediaItemArtwork *albumArt = [[MPMediaItemArtwork alloc] initWithImage:[UIImage imageNamed:@"series_placeholder"]];
[songInfo setObject:thePodcast.title forKey:MPMediaItemPropertyTitle];
[songInfo setObject:thePodcast.author forKey:MPMediaItemPropertyArtist];
[songInfo setObject:@"NCC" forKey:MPMediaItemPropertyAlbumTitle];
[songInfo setObject:albumArt forKey:MPMediaItemPropertyArtwork];
[[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:songInfo];
}
Questo non funziona, ho anche provato:
[[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:nil];
Nel tentativo di farlo per rimuovere le informazioni esistenti da iPod app (o qualsiasi altra cosa potrebbe avere informazioni lì). Inoltre, solo per vedere se riuscivo a trovare il problema, ho provato il recupero delle informazioni attuali sul lancio app:
NSDictionary *info = [[MPNowPlayingInfoCenter defaultCenter] nowPlayingInfo];
NSString *title = [info valueForKey:MPMediaItemPropertyTitle];
NSString *author = [info valueForKey:MPMediaItemPropertyArtist];
NSLog(@"Currently playing: %@ // %@", title, author);
e ottengo Currently playing: (null) // (null)
Ho ricercato questo un bel po 'e i seguenti articoli lo spiegano abbastanza bene, tuttavia, non riesco ancora a farlo funzionare correttamente. Mi sto perdendo qualcosa? Ci sarebbe qualcosa che interferisce con questo? Si tratta di un servizio che la mia app deve registrare per poter accedere (non è stato visualizzato in nessun documento)?
Change lock screen background audio controls
è un supporto di gioco quando questo codice viene eseguito? – Ravin
Ho provato con la riproduzione audio (tramite MPMoviePlayer) e senza gli stessi risultati –
stampa [MPNowPlayingInfoCenter defaultCenter] utilizzando nslog. Nella documentazione dicono: Il centro informazioni predefinito ora in riproduzione contiene informazioni in riproduzione per l'app che è designata come ricevitore per eventi di controllo remoto. Stai riproducendo contenuti multimediali su qualche dispositivo remoto? assicurarsi che il supporto sia riprodotto su qualche dispositivo remoto. Perché docs dice: Gli eventi di controllo remoto consentono agli utenti di controllare l'applicazione multimediale tramite i controlli di trasporto del sistema o tramite un accessorio esterno. – Ravin