所以我正在尝试开发一个使用 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"];
}
谁能帮我一把?非常感谢。