2012-04-08 5 views
2

Я реализовал MPMusicPlayerController для воспроизведения музыки из библиотеки. Когда приложение входит в фон, я приостанавливаю его, и когда он возвращается на передний план, я хочу, чтобы он возобновился. Он останавливается, но начинается с самого начала. Heres код ...MPMusicPlayerController приостанавливается во время работы и возобновляется, когда приложение переходит на передний план

AppDelegate.m

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

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

MainViewController.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]; 
} 

Любые идеи о том, как возобновить его, когда приложение входит передний план?

+0

Я бы проверил время поиска песни, которую вы пытаетесь сыграть в WillEnterForeground. Я предполагаю, что он сбрасывается, поэтому просто сохраните его на didEnterBackground и установите в WillEnterForeground – jmstone617

ответ

2

Я бы заглянул в текущее время воспроизведения трека. MPMusicPlayerController имеет свойство currentPlaybackTime. Когда приложение войдет в фон, просто сохраните это значение (поскольку свойство должно работать нормально), а в WillEnterForeground используйте значение того же свойства, чтобы установить currentPlaybackTime при возобновлении.

+0

отличную идею, попробуем и вернемся назад. То, что я делал вчера, использовало iPodMusicPlayer вместо applicationMusicPlayer и приостанавливал и возобновлял его в фоновом режиме и методах переднего плана соответственно. –

+0

У меня были мои надежды, что это не обязательно должно прийти к этому, но это все еще жизнеспособное решение благодаря «NSNotificationCenter». – Eugene

 Смежные вопросы

  • Нет связанных вопросов^_^