2012-03-12 99 views
5

从iOS 5开始,我们有权访问MPNowPlayingInfoCenter以在锁屏和多任务栏上的多媒体控件中显示信息。我有一个应用程序,播放本地音频文件。我想在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 2012-03-13 08:31:09

+2

您需要阅读本地存储文件的ID3标签。请参阅http://stackoverflow.com/questions/1239460/reading-mp3-information-using-objective-c – steharro 2012-03-13 10:47:41

+2

您还需要指定您的应用程序接收远程控制事件: '[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];' – 2014-03-18 10:52:03

相关问题