MPNowPlayingInfoCenter reproducir pausa image no cambiar

Estoy usando este código a continuación. Y este código funciona perfectamente, una vez que la aplicación va en segundo plano. Si la aplicación no aparece en segundo plano e intentamos reproducir y pausar la canción que se está reproduciendo actualmente, la reproducción y pausa de la image no cambia. Todos los puntos de interrupción de anuncios van en este case UIEventSubtypeRemoteControlPause: case.

 albumArt= [[MPMediaItemArtwork alloc] initWithImage: img.image]; NSDictionary *playingNowInfo = @{MPMediaItemPropertyTitle: (self.currentItem.songname==nil) ? (@"") : (self.currentItem.songname), MPMediaItemPropertyPlaybackDuration: @(self.currentItem.duration), MPMediaItemPropertyArtist:[MusicSetting getArtistName], MPMediaItemPropertyAlbumTitle:(self.currentItem.albumname==nil) ? (@"") : (self.currentItem.albumname), MPNowPlayingInfoPropertyPlaybackRate: @(self.player.rate), MPNowPlayingInfoPropertyElapsedPlaybackTime: @(CMTimeGetSeconds(self.player.currentItem.currentTime)), MPMediaItemPropertyArtwork:albumArt, }; [MPNowPlayingInfoCenter defaultCenter].nowPlayingInfo = playingNowInfo; #pragma mark - Remote Control - (void)remoteControlReceivedWithEvent:(UIEvent *)receivedEvent { // [self.manager remoteControlReceivedWithEvent:receivedEvent]; if (receivedEvent.type == UIEventTypeRemoteControl) { switch (receivedEvent.subtype) { case UIEventSubtypeRemoteControlPlay: [self Onclick_Play_Pause:self]; break; case UIEventSubtypeRemoteControlPause: [self Onclick_Play_Pause:self]; break; case UIEventSubtypeRemoteControlTogglePlayPause: //if ([self.manager.player isPlaying]) if(self.manager.player.rate != 0) { [self.manager.player pause]; } else { [self.manager.player play]; } break; case UIEventSubtypeRemoteControlNextTrack: [self Onclick_next:self]; NSLog(@"Next song play"); break; case UIEventSubtypeRemoteControlPreviousTrack: [self Onclick_prev:self]; NSLog(@"Prev song play"); break; default: break; } } } - (IBAction)Onclick_Play_Pause:(id)sender { (AppObj).playerview_height=playviewHeight; if(self.manager.player.rate != 0) { [MusicSetting set_SongStatus:@"Pause"]; [self.Play_PauseBtn setImage:[UIImage imageNamed:@"pauseImg"] forState:UIControlStateNormal]; [self.manager pause]; } else { [MusicSetting set_SongStatus:@"Play"]; [MusicSetting set_isMusicPlay:@"Playing"]; [self.Play_PauseBtn setImage:[UIImage imageNamed:@"playImg"] forState:UIControlStateNormal]; [self.manager play]; } } 

¡Gracias!

 - (IBAction)Onclick_Play_Pause:(id)sender { MPNowPlayingInfoCenter *center = [MPNowPlayingInfoCenter defaultCenter]; NSMutableDictionary *playingInfo = [NSMutableDictionary dictionaryWithDictionary:center.nowPlayingInfo]; (AppObj).playerview_height=playviewHeight; if(self.manager.player.rate != 0) { [MusicSetting set_SongStatus:@"Pause"]; [self.Play_PauseBtn setImage:[UIImage imageNamed:@"pauseImg"] forState:UIControlStateNormal]; [self.manager pause]; //set playback rate [playingInfo setObject:[NSNumber numberWithFloat:0] forKey:MPNowPlayingInfoPropertyPlaybackRate]; } else { [MusicSetting set_SongStatus:@"Play"]; [MusicSetting set_isMusicPlay:@"Playing"]; [self.Play_PauseBtn setImage:[UIImage imageNamed:@"playImg"] forState:UIControlStateNormal]; [self.manager play]; //set playback rate [playingInfo setObject:[NSNumber numberWithFloat:1] forKey:MPNowPlayingInfoPropertyPlaybackRate]; } center.nowPlayingInfo = playingInfo; } 

Hola, por favor verifique que haya agregado lo siguiente en info.plist

info.plist además

Tienes el siguiente codigo

  case UIEventSubtypeRemoteControlPlay: [self Onclick_Play_Pause:self]; break; case UIEventSubtypeRemoteControlPause: [self Onclick_Play_Pause:self]; break; case UIEventSubtypeRemoteControlTogglePlayPause: //if ([self.manager.player isPlaying]) if(self.manager.player.rate != 0) { [self.manager.player pause]; } else { [self.manager.player play]; } break; 

En los dos primeros casos, llamó a su método, pero no en el tercero, ¿puede compartir la definición de su método?