Dinesh Kumar
Dinesh Kumar

Reputation: 165

MPNowPlayingInfoCenter not showing player Info in lockscreen in real device in ios 10

I am working on the music player app in which song info is to be displayed in lockscreen when the phone gets locked, I have added the following method in

- (void)applicationWillResignActive:(UIApplication *)application of appdelegate

-(void)setTalkPlayerTrackInfoForLockScreenPlayer
{

Class playingInfoCenter = NSClassFromString(@"MPNowPlayingInfoCenter");

if (playingInfoCenter)
{

//    Class playingInfoCenter = NSClassFromString(@"MPNowPlayingInfoCenter");

//    if (playingInfoCenter){

NSMutableDictionary *songInfo = [[NSMutableDictionary alloc] init];



NSString *albumArtImageURL = [[ShowDelegate sharedInstance].programImage objectAtIndex:[ShowDelegate sharedInstance].selectedIndex];

NSURL *urls = [NSURL URLWithString:albumArtImageURL];




NSData *imageData = [NSData dataWithContentsOfURL:urls];

UIImage *imgToLockScreen;
if (imageData != nil) {
    imgToLockScreen = [UIImage imageWithData:imageData];
}
else {
    imgToLockScreen = [UIImage imageNamed:@"rlogo.png"];
}

MPMediaItemArtwork *albumArt = [[MPMediaItemArtwork alloc] initWithImage:imgToLockScreen];

NSNumber *duration = [NSNumber numberWithDouble:[[ShowDelegate sharedInstance].audioStreamer duration]];
NSNumber *currentTime = [NSNumber numberWithDouble:[[ShowDelegate sharedInstance].audioStreamer currentTime]];
NSNumber *playbackRate = [NSNumber numberWithDouble:1.0];


NSString *trackTitle = [[ShowDelegate sharedInstance].podtitle objectAtIndex:[ShowDelegate sharedInstance].selectedIndex];
NSString *programName = [[ShowDelegate sharedInstance].programname objectAtIndex:[ShowDelegate sharedInstance].selectedIndex];


NSString *trackTitle2  = [trackTitle stringByRemovingPercentEncoding];

NSString  *sterg = [trackTitle2  stringByReplacingOccurrencesOfString:@"+" withString:@" "];


NSString *trackTitle1  = [programName stringByRemovingPercentEncoding];
    NSString  *sterg1 = [trackTitle1  stringByReplacingOccurrencesOfString:@"+" withString:@" "];








if (trackTitle != NULL) {
    [songInfo setObject:sterg forKey:MPMediaItemPropertyTitle];
    [songInfo setObject:sterg1 forKey:MPMediaItemPropertyArtist];
    [songInfo setObject:albumArt forKey:MPMediaItemPropertyArtwork];
    [songInfo setObject:duration forKey:MPMediaItemPropertyPlaybackDuration];
    [songInfo setObject:playbackRate forKey:MPNowPlayingInfoPropertyPlaybackRate];
    [songInfo setObject:currentTime forKey:MPNowPlayingInfoPropertyElapsedPlaybackTime];
}


[[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:songInfo];
    }
}

Now the song info is displayed in lock screen in simulator but not in real device in os 10.2.I have also added [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; Please help if anyone knows what I am doing wrong ?

Upvotes: 0

Views: 614

Answers (0)

Related Questions