【问题标题】:MPMusicPlayerController applicationMusicPlayer - Resume when application launchesMPMusicPlayerController applicationMusicPlayer - 应用程序启动时恢复
【发布时间】:2012-10-11 21:51:15
【问题描述】:
MPMusicPlayerControllerapplicationMusicPlayer 独立于 iPod(或音乐)应用程序运行,这正是我想要的。当应用程序进入后台时它会停止播放,这也是我想要的。
但是,我希望它在应用程序恢复时恢复播放。目前我通过再次调用 play 方法来做到这一点,但这会导致音频从头开始。有没有办法让我真正从音频中断的地方继续播放?我似乎找不到任何关于它的信息。
【问题讨论】:
标签:
ios
mpmusicplayercontroller
【解决方案1】:
在 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];
}
当应用即将再次激活时,将调用 App Delegate 的 applicationDidBecomeActive: 方法。在该方法中,设置 currentPlaybackTime 属性。
- (void)applicationDidBecomeActive:(UIApplication *)application
{
MPMusicPlayerController *myPlayer =
[MPMusicPlayerController applicationMusicPlayer];
myPlayer.currentPlaybackTime = self.playbackTime;
[myPlayer play];
}