我正在制作一个支持多任务处理的闹钟应用程序。但是,我受困于 sdk 的一些限制。
每当闹钟时间带有用户设置的某些属性时,我都需要播放选定的闹钟声音。这些属性: - 警报声音可以是用户 iPod 库中的音乐,也可以是应用程序包中的一些声音文件。- 警报声音可以设置为渐进式播放。
此外,警报声必须在后台循环播放,直到用户取消或唤醒应用程序。
我想到的第一个合乎逻辑的事情是使用本地通知,但是使用本地通知,您可以播放仅在应用程序包中(不是 iPod 音乐)并且最长 30 秒长的声音文件。此外,当用户取消通知警报时,您不会收到通知,iOS 只是停止播放您的声音。
现在我正在考虑使用背景音频播放选项并在闹钟时间之前播放静音,然后播放闹钟声音同时还显示本地通知而没有声音。但是我又如何知道用户是否取消了本地通知警报并停止播放音频。然而,根据 Apple 的文档,播放背景音频的应用程序仍然不允许播放 iPod 音乐(和使用共享资源)。
我也无法理解其他一些应用程序是如何执行其中一些功能的。例如,Night Stand HD 可以在后台播放 iPod 音乐,而名为“Progressive Alarm Clock”的应用程序可以在后台播放渐进式声音。
对这些问题有什么想法和建议吗?您的任何帮助将不胜感激