我正在使用 Pjsip 开发一个 VoIP 应用程序在 objective-C 中。
我想尝试集成 CallKit,但我在 configureAudioSession
上遇到错误。我从 SpeakerBox from Apple 复制了 AudioController.h
和 AudioController.mm
进入我的项目。
然后我添加了这段代码:
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 吗?
最佳答案
这个错误是因为你忘记在你的 Info.plist 中添加麦克风描述。
引用:SpeakerBox from Apple iOS - AudioUnitInitialize returns error code 561017449
关于ios - AVAudioSession 错误激活 : Error Domain=NSOSStatusErrorDomain Code=561017449: Audio device error on integrating CallKit API to Objective C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42719339/