2012-03-12 2 views
5

Начиная с iOS 5 у нас есть доступ к MPNowPlayingInfoCenter для отображения информации на заблокированном экране и в мультимедийных элементах управления на панели многозадачности. У меня есть приложение, которое играет местных аудио файлов. Я хочу отображать информацию, такую ​​как имя исполнителя, альбом и иллюстрации на lockscreen с MPNowPlayingInfoCenter, но единственный способ сделать это (насколько я знаю) использовать MPMusicPlayerController и получить nowPlayingItem ... Проблема в том, что MPMusicPlayerController используется для воспроизведения только музыки iPod, а не локально сохраненных файлов. Есть ли способ обойти это в iOS 5?iOS: отображение текущей информации о треке в LockScreen?

ответ

17

Вы можете создать свой собственный NSDictionary и предоставить его в 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

Но как получить название альбома локально сохраненной дорожки? Или произведение? – Alex1987

+2

Вам нужно будет прочитать теги ID3 локально сохраненного файла. См. Http://stackoverflow.com/questions/1239460/reading-mp3-information-using-objective-c – steharro

+2

Вам также необходимо указать, что приложение получает события дистанционного управления: '[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];' –

 Смежные вопросы

  • Нет связанных вопросов^_^