在锁定屏幕上显示音乐播放控件的最佳方式iOS7

问题描述:

我有一个音乐应用程序。在SoundCloud这样的锁定屏幕中显示歌曲信息和音乐控件的最佳方式是什么?请参阅(http://cl.ly/image/1a1H041A1Z34在锁定屏幕上显示音乐播放控件的最佳方式iOS7

非常感谢!

很有用的指南 - Lock screen “Now Playing” with MPNowPlayingInfoCenter;

这只适用于iOS 5+,并做了这样的事情。

- (void)setupNowPlayingInfoCenter:(MPMediaItem *)currentSong 
{ 
    NSString *ver = [[UIDevice currentDevice] systemVersion]; 
    CGFloat version = 4.0; 
    if ([ver length] >= 3) 
    { 
     version = [[ver substringToIndex:3] floatValue]; 
    } 

    if (version >= 5.0) 
    { 
     MPMediaItemArtwork *artwork = [currentSong valueForProperty:MPMediaItemPropertyArtwork]; 

     MPNowPlayingInfoCenter *infoCenter = [MPNowPlayingInfoCenter defaultCenter]; 

     if (currentSong == nil) 
     { 
      infoCenter.nowPlayingInfo = nil; 
      return; 
     } 

     infoCenter.nowPlayingInfo = [NSDictionary dictionaryWithObjectsAndKeys: 
       [currentSong valueForKey:MPMediaItemPropertyTitle], MPMediaItemPropertyTitle, 
       [currentSong valueForKey:MPMediaItemPropertyArtist], MPMediaItemPropertyArtist, 
       [currentSong valueForKey:MPMediaItemPropertyAlbumTitle], MPMediaItemPropertyAlbumTitle, 
       [currentSong valueForKey:MPMediaItemPropertyAlbumTrackCount], MPMediaItemPropertyAlbumTrackCount, 
       [currentSong valueForKey:MPMediaItemPropertyAlbumTrackNumber], MPMediaItemPropertyAlbumTrackNumber, 
       artwork, MPMediaItemPropertyArtwork, 
       [currentSong valueForKey:MPMediaItemPropertyComposer], MPMediaItemPropertyComposer, 
       [currentSong valueForKey:MPMediaItemPropertyDiscCount], MPMediaItemPropertyDiscCount, 
       [currentSong valueForKey:MPMediaItemPropertyDiscNumber], MPMediaItemPropertyDiscNumber, 
       [currentSong valueForKey:MPMediaItemPropertyGenre], MPMediaItemPropertyGenre, 
       [currentSong valueForKey:MPMediaItemPropertyPersistentID], MPMediaItemPropertyPersistentID, 
       [currentSong valueForKey:MPMediaItemPropertyPlaybackDuration], MPMediaItemPropertyPlaybackDuration, 
       [NSNumber numberWithInt:self.mediaCollection.nowPlayingIndex + 1], MPNowPlayingInfoPropertyPlaybackQueueIndex, 
       [NSNumber numberWithInt:[self.mediaCollection count]], MPNowPlayingInfoPropertyPlaybackQueueCount, nil]; 
    } 
} 

下一次,尝试使用搜索:

+0

非常感谢您! – jpblack

+0

问题已被标记为重复,除了解决问题的代码我添加了相当有用的教程以解释以下代码... – ignotusverum