【发布时间】:2022-09-25 02:41:52
【问题描述】:
我正在开发一个带有警报的计时器应用程序。当屏幕被锁定时,我想让我的警报/文本到语音继续工作。它在 30 到 60 秒之间工作一段时间,然后警报停止工作,但计时器继续工作,因为当我解锁手机时,计时器继续工作。我浏览了很多帖子,但没有找到解决方案。看起来新音频无法在锁定模式下触发(一些帖子说新音频声音无法在锁定模式下触发,但音频的连续性正在工作)。我终于找到了这篇文章-> AVFoundation playing audio in background/on lock screen in Swift
所以我在我的代码中添加了以下几行:
// to authorize background music in parallel
try? AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.ambient)
try? AVAudioSession.sharedInstance().setActive(true)
// to play audio in background, lock screen mode
try? AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.playback)
在 info.plist 我有这个条目:
结果是只有当我在音频期间锁定屏幕时,短音频才有效(我每 30 秒触发一次),如果我在两个声音之间进行操作,它就会停止。我花了很多天寻找解决方案,但没有任何效果,有人可以在这里帮忙吗?
再次花费几个小时进一步搜索该主题以及我发现的内容:-> https://developer.apple.com/forums/thread/77937
对很多人来说似乎确实是一个问题,但我不明白为什么我们没有找到任何解决方案,因为我看到许多具有此功能的应用程序都在工作,如果您看到任何好的答案,请告诉我。