在我所有先前版本操作系统的iOS应用程序中,我们偶尔录制音频,然后休眠一段时间,然后重新录制,然后永远循环(睡眠需要维护电池)。即使应用程序在后台,这也可以在iOS 7中正常运行。现在,当应用程序处于后台时,对AudioQueueStart的调用无法开始录制,并显示错误:-16981。我似乎无法在文档或Web上找到此错误代码,并且如果将它变为NSError,它会显示“操作无法完成(OSStatus错误-16981。)”,它不是'这一切都很有帮助。AudioQueueStart在iOS 7的后台进程中失败,并且后台进程失败-16981
我有一个理论,苹果正在这里关闭一个洞;这个想法是;你为什么要从后台进程开始录制,除非你是间谍?那么,在用户同意的情况下(签名和付费!),这正是我们正在做的。
所以;任何人都可以证实或否认这是预期的,或者我可能会对此做些什么。这对我们的应用程序来说有点杀手锏。我已经将它作为Apple的一个bug提交,并且会尝试在此处报告进度。
更新:2013年10月3日
虽然以前的答案似乎为这个工作一段时间;它已经停止与-12985工作,这是因为另一个应用程序已打开音频。这当然是为什么我需要使用混合标志。
UPDATE:
的iOS 7.0.3(或更高版本)似乎已经完全解决了这个问题。
真的吗?这是一个编程问题,而AskDifferent似乎更适合高级用户而不是开发人员。我希望有人可能知道AudioQueueStart函数的-16981可能意味着什么,以及如何解决它。 –
我对iOS不熟悉,但如果操作系统发生变化,我认为你会在apple @ stackexhange获得更多有效的帮助。但要怪我英语不好。我误解了该页面也适用于软件相关问题的部分。 – xQuare
在iOS 7上遇到同样的问题。 –