A partire da iOS 5 abbiamo accesso a MPNowPlayingInfoCenter
per visualizzare le informazioni nella schermata di blocco e nei controlli multimediali sulla barra multitasking. Ho una app che riproduce i file audio locali. Voglio mostrare informazioni come il nome dell'artista, l'album e l'opera d'arte sul lockscreen con , ma l'unico modo per farlo (per quanto ne so) è usare MPMusicPlayerController
e ottenere nowPlayingItem
... Il problema è che MPMusicPlayerController
è utilizzato per riprodurre solo iPod Music e non i file memorizzati localmente. C'è un modo per aggirare questo in iOS 5?iOS: visualizzazione delle informazioni sul brano attualmente riprodotte in LockScreen?
5
A
risposta
17
È possibile creare il proprio NSDictionary e fornirlo a MPNowPlayingInfoCenter.
NSArray *keys = [NSArray arrayWithObjects:MPMediaItemPropertyAlbumTitle, MPMediaItemPropertyArtist, ..., nil];
NSArray *values = [NSArray arrayWithObjects:@"Album", @"Artist", ..., nil];
NSDictionary *mediaInfo = [NSDictionary dictionaryWithObjects:values forKeys:keys];
[[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:mediaInfo];
Ma come si ottiene il nome dell'album di una traccia memorizzata localmente? O l'opera d'arte? – Alex1987
Sarà necessario leggere i tag ID3 del file memorizzato localmente. Vedi http://stackoverflow.com/questions/1239460/reading-mp3-information-using-objective-c – steharro
È inoltre necessario specificare che l'app riceva eventi di controllo remoto: '[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];' –