AudioOutputUnitStart 失败,OSStatus = -66637(如何从 c++ 打印 OSStatus)

4
我在开始录音时遇到了AudioOutputUnitStart失败的问题。
!!! 我已经找到了根本原因,没有这个返回代码:这是因为AVAudioSessionCategory设置不正确导致的。!!!
但我花了很多时间去找到OSStatus = -66637的含义,我还尝试将此消息转换为十六进制、字节(0xFFFEFBB3 = 11111111 11111110 11111011 10110011)。
我知道这个网站:https://www.osstatus.com,但是没有关于-66637的信息(在所有类型的转换中都没有)。 我也尝试了macerror,但是iOS没有这些代码。
有人能帮忙找到-66637的含义吗?
我们项目中的日志以printf格式完成,所以我像这样打印OSStatus:"%d",状态,也许这不正确,有人能建议从c++代码中打印OSStatus的最佳方法吗?
这个问题对我非常有用:How do you convert an IPhone OSStatus code to something useful? 但即使有所有答案,我也找不到可以帮助我的答案。

我会先找到定义该函数的头文件,然后查找本地化(针对框架)状态码。没有一个一站式的状态码... - trojanfoe
改进问题以帮助 SO 社区帮助您找到解决方案的建议...您提到您正在编写 iOS 程序,因此请在上下文中包含相关的错误消息行,而不仅仅是 OSStatus = -66637;请包括您尝试过的相关代码行;不要缩写单词(如 mb)。 - andrewbuilder
@andrewbuilder,谢谢你的建议,但正如我之前提到的,我已经找到了解决方案,我只需要找到OSStatus = -66637的含义以及从C++代码中打印OSStatus的最佳方式。 - Daniil Privalov
2个回答

2

当我尝试通过设置AVAudioSessionCategoryPlayback开始录音时,返回了-66637的错误代码。将其更改为AVAudioSessionCategoryPlayAndRecord后,代码返回0。


0
对于最近遇到这个问题的任何人:我必须确保我的AVAudioSession一旦正确设置,也通过调用setActive来激活。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接