Итак, я пытаюсь разработать музыкальную игру, использующую музыкальную библиотеку iPod. Пользователь выбирает песню на основе подсказки. Поскольку я использую [MPMusicPlayerController iPodMusicPlayer]
, возможно, пользователь изменил песню в приложении iPod, прежде чем вернуться в приложение. Если это так, я хочу, чтобы он вызывал [musicPlayer stop]
. К сожалению, я не могу понять, как сохранить текущую воспроизводимую песню и сравнить ее с текущей воспроизводимой песней, когда приложение возвращается из фонового режима. Проверьте код ниже.
- (void)applicationDidEnterBackground:(UIApplication *)application
{
MPMusicPlayerController *musicPlayer = [MPMusicPlayerController iPodMusicPlayer];
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSString *persistantID = [musicPlayer.nowPlayingItem valueForProperty:MPMediaItemPropertyPersistentID];
[prefs setValue:persistantID forKey:@"NOWPLAYING_ID"];
}
И
- (void)applicationWillEnterForeground:(UIApplication *)application
{
MPMusicPlayerController *musicPlayer = [MPMusicPlayerController iPodMusicPlayer];
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
NSString *persistantID = [prefs stringForKey:@"NOWPLAYING_ID"];
if (persistantID == [musicPlayer.nowPlayingItem valueForProperty:MPMediaItemPropertyPersistentID]) {
}
else {
[musicPlayer stop];
}
[prefs setValue:nil forKey:@"NOWPLAYING_ID"];
}
Может ли кто-нибудь дать мне руку? Большое спасибо.