iOS:App停用后闹钟App如何播放声音?
Posted
技术标签:
【中文标题】iOS:App停用后闹钟App如何播放声音?【英文标题】:iOS: How do alarm Apps play sound after App is inactive? 【发布时间】:2017-01-12 22:37:16 【问题描述】:许多闹钟应用在几个小时后设法在锁定屏幕的情况下播放声音(例如:Rise、Wave 闹钟)
您只需在应用打开时设置闹钟并锁定屏幕,屏幕锁定数小时后闹钟就会响起。
我设法弄清楚如何在我的设备被锁定时使用 AVPlayer 播放音频:
将背景功能设置为音频
将“应用程序不在后台运行”设置为是
代码:
do
try AVAudiosession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
print("AVAudioSession Category Playback OK")
do
try AVAudioSession.sharedInstance().setActive(true)
print("AVAudioSession is Active")
catch let error as NSError
print(error.localizedDescription)
catch let error as NSError
print(error.localizedDescription)
当我尝试设置 NSTimer 或使用 dispatch_after 运行播放我的音频文件并锁定我的 iPhone 的代码时,Timer 会很快停止,因为显然应用程序在几秒钟后就处于非活动状态 (但只有当我从主屏幕启动应用程序时,当我从 xcode 运行应用程序时才不会,顺便说一句)
那些闹钟应用程序如何设法延迟音频?
【问题讨论】:
本地通知,可能 不。本地通知限制为最长 30 秒的声音,并且它们在静音时不会响铃,但这些应用会响 他们可以将闹钟放到您的日历中(闹钟类型的事件)。 【参考方案1】:这些应用通过退出多任务模式来实现这一点。如果应用程序选择退出多任务模式,如果应用程序在设备锁定时处于前台,则应用程序不会暂停,因此它们可以在时间到达时播放警报声音。你可以阅读更多here
【讨论】:
【参考方案2】:(代表问题作者发布答案以将其移至答案空间)。
我知道他们是怎么做到的。我设置了一个闹钟,听着扬声器的声音。这些应用程序会播放静音以保持活跃。我不知道他们是如何通过 Apple 的检查的,但显然许多闹钟应用程序都这样做并通过了。
【讨论】:
以上是关于iOS:App停用后闹钟App如何播放声音?的主要内容,如果未能解决你的问题,请参考以下文章