2012-03-12 14 views
5

Od wersji iOS 5 mamy dostęp do MPNowPlayingInfoCenter, aby wyświetlać informacje na ekranie blokady i elementach sterowania multimediami na pasku wielozadaniowości. Mam aplikację, która odtwarza pliki dźwiękowe lokalnie. Chcę wyświetlać informacje takie jak nazwa wykonawcy, album i grafika na ekranie blokady za pomocą MPNowPlayingInfoCenter, ale jedynym sposobem, aby to zrobić (o ile mi wiadomo) jest użycie MPMusicPlayerController i uzyskanie nowPlayingItem ... Problem polega na tym, że MPMusicPlayerController służy wyłącznie do odtwarzania muzyki z iPoda, a nie lokalnie zapisanych plików. Czy jest jakiś sposób obejścia tego w iOS 5?iOS: Wyświetlanie aktualnie odtwarzanych informacji o utworze w LockScreen?

Odpowiedz

17

Możesz stworzyć własny NSDictionary i dostarczyć go do 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

Ale jak uzyskać nazwę albumu zapisanego lokalnie? Czy grafika? – Alex1987

+2

Należy przeczytać znaczniki ID3 lokalnie zapisanego pliku. Zobacz http://stackoverflow.com/questions/1239460/reading-mp3-information-using-objective-c – steharro

+2

Należy również określić, że aplikacja odbiera zdarzenia zdalnej kontroli: '[[UIApplication sharedApplication] beginReceivingRemoteControlEvents;;' –

Powiązane problemy