iOS:在LockScreen中显示当前播放的曲目信息?

Ale*_*987 6 iphone audio avaudioplayer mpmusicplayercontroller ios

从iOS 5开始,我们可以MPNowPlayingInfoCenter在锁定屏幕和多任务栏上的多媒体控件中显示信息.我有一个播放本地音频文件的应用程序.我希望在锁屏上显示艺术家姓名,专辑和艺术品等信息MPNowPlayingInfoCenter,但这样做的唯一方法(据我所知)是使用MPMusicPlayerController并得到nowPlayingItem......问题MPMusicPlayerController是用来玩仅限iPod音乐,而不是本地存储的文件.iOS 5中有没有解决方法?

ste*_*rro 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];
Run Code Online (Sandbox Code Playgroud)

  • 您需要读取本地存储文件的ID3标签.请参见http://stackoverflow.com/questions/1239460/reading-mp3-information-using-objective-c (2认同)
  • 您还需要指定应用程序接收远程控制事件:`[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];` (2认同)