2012-10-11 4 views
1

MPMusicPlayerControllerapplicationMusicPlayer은 내가 원하는 iPod (또는 음악) 응용 프로그램과 독립적으로 실행됩니다. 응용 프로그램이 백그라운드로 들어가면 다시 재생됩니다.MPMusicPlayerController applicationMusicPlayer - 응용 프로그램이 시작될 때 재개

그러나 응용 프로그램이 다시 시작될 때 재생을 다시 시작하고 싶습니다. 현재 나는 play 메서드를 다시 호출하여이를 수행하지만 오디오가 처음부터 시작됩니다. 오디오가 중단 된 곳에서 실제로 재생을 재개 할 수있는 방법이 있습니까? 나는 그것에 대해 아무것도 찾을 수없는 것 같습니다.

답변

4

App Delegate의 applicationWillResignActive: 메서드 내에서 musicPlayer.currentPlaybackTime 속성 (MPMediaPlayback 프로토콜에 선언 됨)을 읽고 그 값을 어딘가에 저장하십시오. 당신은 같은 속성을 설정할 수 있습니다 :

@property (assign, nonatomic) NSTimeInterval playbackTime; 

과 함께 할당 :

- (void)applicationWillResignActive:(UIApplication *)application 
{ 
    MPMusicPlayerController *myPlayer = 
    [MPMusicPlayerController applicationMusicPlayer]; 

    self.playbackTime = myPlayer.currentPlaybackTime; 
    [myPlayer pause]; 
} 

앱을 다시 활성화하는 것입니다

이 앱 위임의 applicationDidBecomeActive: 메서드가 호출됩니다. 이 메서드 내에서 currentPlaybackTime 속성을 설정합니다.

- (void)applicationDidBecomeActive:(UIApplication *)application 
{ 
    MPMusicPlayerController *myPlayer = 
    [MPMusicPlayerController applicationMusicPlayer]; 
    myPlayer.currentPlaybackTime = self.playbackTime; 
    [myPlayer play]; 
} 
관련 문제