Начиная с iOS 5 у нас есть доступ к MPNowPlayingInfoCenter
для отображения информации на заблокированном экране и в мультимедийных элементах управления на панели многозадачности. У меня есть приложение, которое играет местных аудио файлов. Я хочу отображать информацию, такую как имя исполнителя, альбом и иллюстрации на lockscreen с MPNowPlayingInfoCenter
, но единственный способ сделать это (насколько я знаю) использовать MPMusicPlayerController
и получить nowPlayingItem
... Проблема в том, что MPMusicPlayerController
используется для воспроизведения только музыки iPod, а не локально сохраненных файлов. Есть ли способ обойти это в iOS 5?iOS: отображение текущей информации о треке в LockScreen?
5
A
ответ
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];
Но как получить название альбома локально сохраненной дорожки? Или произведение? – Alex1987
Вам нужно будет прочитать теги ID3 локально сохраненного файла. См. Http://stackoverflow.com/questions/1239460/reading-mp3-information-using-objective-c – steharro
Вам также необходимо указать, что приложение получает события дистанционного управления: '[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];' –