AVAudioSession 错误激活:错误域 = NSOSStatusErrorDomain 代码 = 561017449:将 CallKit API 集成到 Objective C 时出现音频设备

Posted

技术标签:

【中文标题】AVAudioSession 错误激活:错误域 = NSOSStatusErrorDomain 代码 = 561017449:将 CallKit API 集成到 Objective C 时出现音频设备错误【英文标题】:AVAudioSession error activating: Error Domain=NSOSStatusErrorDomain Code=561017449: Audio device error on integrating CallKit API to Objective C 【发布时间】:2017-03-10 13:16:56 【问题描述】:

我正在使用 Objective-C 中的Pjsip 开发一个 VoIP 应用程序。

我想尝试集成 CallKit,但在 configureAudiosession 上出现错误。我将AudioController.hAudioController.mm 从SpeakerBox from Apple 复制到我的项目中。

我添加了这段代码:

 AudioController *audioController;

 - (void)configureAudioSession 
      if (!audioController) 
         audioController = [[AudioController alloc] init];
      
 

- (void)handleIncomingCallFrom:(NSString *)dest 
    CXCallUpdate *callUpdate = [[CXCallUpdate alloc] init];
    [callUpdate setLocalizedCallerName:dest];
    [callUpdate setHasVideo:NO];
    CXHandle *calleeHandle = [[CXHandle alloc] initWithType:CXHandleTypeGeneric value:dest];
    [callUpdate setRemoteHandle:calleeHandle];
    [provider reportNewIncomingCallWithUUID:[NSUUID UUID] update:callUpdate completion:^(NSError *error)
        [self configureAudioSession];
    ];

电话正在响铃,我可以接听电话,但我接听电话就会崩溃。我收到此错误:

 AVAudioSession error activating: Error Domain=NSOSStatusErrorDomain Code=561017449 "(null)"
 2017-03-09 18:17:48.830893 MyVoIPProject[1620:971182] [aurioc] 892: failed: '!pri' (enable 3, outf< 1 ch,  16000 Hz, Int16> inf< 1 ch,  16000 Hz, Int16>)
 2017-03-09 18:17:48.841301 MyVoIPProject[1620:971182] [aurioc] 892: failed: '!pri' (enable 3, outf< 1 ch,  44100 Hz, Int16> inf< 1 ch,  44100 Hz, Int16>)
 2017-03-09 18:17:48.850282 MyVoIPProject[1620:971182] [aurioc] 892: failed: '!pri' (enable 3, outf< 1 ch,  48000 Hz, Int16> inf< 1 ch,  48000 Hz, Int16>)
 .
 .
 .
 .

您能告诉我如何集成 Callkit 吗?

【问题讨论】:

相关:this 和 this 就错误消息而言 我会试试的。感谢您回答和编辑我的问题:)。 【参考方案1】:

此错误是由于您忘记在 Info.plist 中添加麦克风描述而导致的。

参考:SpeakerBox from Apple iOS - AudioUnitInitialize returns error code 561017449

【讨论】:

不,你错了,我在 Info.plist 中添加了麦克风描述 嗯,太奇怪了。如果您使用真实设备构建,您可以查看崩溃日志以获取更多信息。

以上是关于AVAudioSession 错误激活:错误域 = NSOSStatusErrorDomain 代码 = 561017449:将 CallKit API 集成到 Objective C 时出现音频设备的主要内容,如果未能解决你的问题,请参考以下文章

AVAudioSession 的 iOS 错误

AVAudioSession setCategory 错误

AVAudioSession 错误:停用正在运行 I/O 的音频会话

GAE - 域验证产生错误

IOS:AVAudioSession 不工作

AVAudioSession 无法在 iOS 7 上播放