2012-03-12 3 views
5

A partir de iOS 5 tenemos acceso a MPNowPlayingInfoCenter para mostrar información en la pantalla de bloqueo y en los controles multimedia en la barra de tareas múltiples. Tengo una aplicación que reproduce local archivos de audio. Quiero mostrar información como el nombre del artista, el álbum y la ilustración en la pantalla de bloqueo con MPNowPlayingInfoCenter, pero la única manera de hacerlo (hasta donde yo sé) es usar MPMusicPlayerController y obtener nowPlayingItem ... El problema es que MPMusicPlayerController se usa solo para reproducir música iPod y no archivos almacenados localmente. ¿Hay alguna forma de evitar esto en iOS 5?iOS: ¿muestra la información de la pista reproducida actualmente en LockScreen?

Respuesta

17

Puede crear su propio NSDictionary y suministrarlo al 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

¿Pero cómo obtengo el nombre del álbum de una pista almacenada localmente? ¿O la obra de arte? – Alex1987

+2

Deberá leer las etiquetas ID3 del archivo almacenado localmente. Consulte http://stackoverflow.com/questions/1239460/reading-mp3-information-using-objective-c – steharro

+2

. También debe especificar que su aplicación recibe eventos de control remoto: '[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];' –

Cuestiones relacionadas