如果应用程序变为非活动/活动状态(当出现某些警报或双击主页按钮时)它正常工作
AVPlayer *player;
- (void)applicationWillResignActive:(UIApplication *)application
{
[player pause];
}
- (void)applicationDidBecomeActive:(UIApplication *)application
{
[player play];
}
如果应用程序进入后台(通过单击主页按钮)并返回,它不会从暂停位置播放,而是从不同点播放(有时从开始,有时从中间播放)。
答案 0 :(得分:19)
按照以下步骤操作:
1)首先在float *time
文件中添加appDelegate.h
。
2)在current time
applicationWillResignActive
3)添加以下方法
播放器的 ApplicationWillResignActive
方法pause
播放器和save
current
time
- (void)applicationWillResignActive:(UIApplication *)application
{
[player pause];
time = player.currentTime
}
现在在applicationDidBecomeActive
添加seekToTime
- (void)applicationDidBecomeActive:(UIApplication *)application
{
[player seekToTime:time toleranceBefore:kCMTimeZero toleranceAfter:kCMTimeZero];
[player play];
}
答案 1 :(得分:1)
在应用程序进入后台之前,您应该调用此方法。 [玩家暂停]; 要么 [玩家停止];