2012-10-11 20 views
1

MPMusicPlayerControllerapplicationMusicPlayer獨立於iPod(或音樂)應用程序運行,這是我想要的。當應用程序進入我想要的背景時,它會停止播放。MPMusicPlayerController applicationMusicPlayer - 應用程序啓動時恢復

但是,我希望在應用程序恢復時繼續播放。目前我通過再次調用播放方法來完成此操作,但這會導致音頻從頭開始播放。有沒有一種方法可以真正從音頻停止播放的位置繼續播放?我似乎無法找到任何關於它的事情。

回答

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]; 
} 
相關問題