AudioKit仅在真机运行时抛出-10868错误,求原因排查
错误-10868的可能原因分析
CoreAudio错误码-10868对应kAudioUnitErr_FailedInitialization(音频单元初始化失败),结合你的真机运行场景和代码,主要有以下几种可能:
麦克风权限未正确配置:真机访问麦克风必须在
Info.plist中添加NSMicrophoneUsageDescription键,并填写合理的使用说明。如果缺少这个配置,系统会直接拒绝音频引擎访问麦克风,导致初始化失败。音频节点连接逻辑冲突:你的代码里存在输入节点的复用冲突:
- 把
mic(输入节点)传入Fader创建了tappableNodeA,但这个Fader节点没有接入到音频引擎的处理链中(既没连接到mixer,也没连接到输出); - 又直接给原始的
mic节点添加了PitchTap监听。
同一个输入节点同时被两个独立的处理路径引用,会导致音频引擎构建音频图时无法正确初始化输入链。正确的做法应该是让PitchTap监听经过Fader后的节点,或者调整节点连接顺序,确保输入链线性且无冲突。
- 把
音频会话配置异常:如果未正确配置
AVAudioSession,比如没有设置适合的类别(需要录音功能的话应使用.playAndRecord类别),或者会话未正确激活,真机上会严格限制音频引擎的启动,触发初始化失败。硬件资源被占用:如果真机上有其他应用正在占用麦克风或音频硬件资源,你的应用无法获取音频设备访问权限,也会导致这个错误。
内容的提问来源于stack exchange,提问作者N0ctrn
相关产品推荐
相关产品推荐

