2

我已经实现了 MPMusicPlayerController 来播放库中的音乐。当应用程序进入后台时,我暂停它,当它回到前台时,我希望它恢复。它暂停得很好,但从头开始。这是代码...

AppDelegate.m

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    [self.appMusicPlayer pause];
}

- (void)applicationWillEnterForeground:(UIApplication *)application
{
    [self.appMusicPlayer play];
}

主视图控制器.m

- (void) mediaPicker: (MPMediaPickerController *) mediaPicker didPickMediaItems: (MPMediaItemCollection *) mediaItemCollection 
{
    [self dismissModalViewControllerAnimated: YES];
   appdelegate.selectedSongCollection=mediaItemCollection; 
    appdelegate.appMusicPlayer = [MPMusicPlayerController applicationMusicPlayer];

    [appdelegate.appMusicPlayer setQueueWithItemCollection:appdelegate.selectedSongCollection];
    [appdelegate.appMusicPlayer play];
    [btnStop setHidden:NO];
    [btnMusic setHidden:YES];
}

- (void) mediaPickerDidCancel: (MPMediaPickerController *) mediaPicker 
{   
    [self dismissModalViewControllerAnimated: YES]; 
}

当应用程序进入前台时如何恢复它的任何想法?

4

1 回答 1

2

我会查看曲目的 currentPlaybackTime。MPMusicPlayerController 有一个 currentPlaybackTime 属性。当应用程序要进入后台时,只需保存此值(作为一个属性应该可以正常工作),然后在 WillEnterForeground 中,使用相同的属性值来设置当您恢复时的 currentPlaybackTime。

于 2012-04-09T00:03:45.643 回答