2012-03-12 6 views
5

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?

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]; 
+0

Ma come si ottiene il nome dell'album di una traccia memorizzata localmente? O l'opera d'arte? – Alex1987

+2

Sarà necessario leggere i tag ID3 del file memorizzato localmente. Vedi http://stackoverflow.com/questions/1239460/reading-mp3-information-using-objective-c – steharro

+2

È inoltre necessario specificare che l'app riceva eventi di controllo remoto: '[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];' –