1

我知道实际上在 iOS4 中不再调用 applicationWillTerminate。但我有这种情况:

  • 我的有声读物进入后台模式并继续播放音频;
  • 直到 SDK 的 3.x 版本,我在 applicationWillTerminate 中保存了收听 MP3 文件的位置;
  • 现在我被告知要在 applicationWillTerminate 中保留此保存(对于 iPhone 3G)并在 applicationDidEnterBackground 中实现相同的方法:但这不会保存用户最后的位置,只是他进入后台时的位置......

但是,用户从应用程序坞退出应用程序的时刻,或者更好的调用方法?这存在吗?

当出现内存问题时会调用 ApplicationWillTerminate,但我真的不知道当用户自己关闭应用程序时会发生什么。

我再说一遍: applicationDidEnterBackground 对我没有帮助,因为当用户进入后台模式时,他可以长时间停留在这个位置听有声读物,当他再次启动应用程序时,关闭后,我的意思是,他会找到他进入后台模式时音频文件的位置……</p>

我真的很困惑……</p>

谢谢你的帮助!

4

1 回答 1

2

无论音频是否继续播放applicationWillResignActive:, 您都应该将播放位置自动保存在 中 。applicationDidEnterBackground:然后再放一个存档applicationWillTerminate。这样,无论接下来发生什么,都会保存最后的播放位置。下一个事件只是覆盖保存的播放位置来更新它。

一个更好的选择是让音频播放器对象本身在它被中断时触发保存,例如[AVAudioPlayerDelegate audioPlayerBeginInterruption:]或类似的。这可能需要一些额外的工作,但它可以保证播放位置总是被保存,无论中断的原因是什么。

于 2010-07-10T12:47:04.253 回答