许多闹钟应用在几个小时后设法在锁定屏幕的情况下播放声音(例如:Rise、Wave 闹钟)
您需要做的就是设置闹钟并在应用打开时锁定屏幕,并且在屏幕锁定数小时后闹钟会响起。
我设法弄清楚如何在我的设备被锁定时使用 AVPlayer 播放音频:
将背景功能设置为音频
将“应用程序不在后台运行”设置为"is"
代码:
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 的代码时,计时器会很快停止,因为显然应用程序在几秒钟后就处于非事件状态
(但仅当我从主屏幕启动应用程序时,而不是当我从 xcode 运行应用程序时,顺便说一句)
那些闹钟应用程序如何设法延迟音频?
Best Answer-推荐答案 strong>
这些应用通过退出多任务模式来实现这一点。如果应用程序选择退出多任务模式,如果应用程序在设备锁定时处于前台,则应用程序不会暂停,因此它们可以在时间到达时播放警报声音。您可以阅读更多 here
关于iOS:App停用后闹钟App如何播放声音?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/41624287/
|