Активация ошибки AVAudioSession: Error Domain = NSOSStatusErrorDomain Code = 561017449: ошибка аудиоустройства при интеграции API CallKit в Objective C

Я разрабатываю приложение VoIP, используя Pjsip в Objective-C.

Я хочу попробовать интегрировать CallKit, но получаю сообщение об ошибке configureAudioSession. Я скопировал AudioController.h и AudioController.mm из SpeakerBox от 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?


person Community    schedule 10.03.2017    source источник
comment
Релевантно: это и это в отношении сообщения об ошибке   -  person NSNoob    schedule 10.03.2017
comment
Я попытаюсь. Спасибо за ответ и редактирование моего вопроса :).   -  person    schedule 10.03.2017


Ответы (1)


Эта ошибка возникает из-за того, что вы забыли добавить описание микрофона в свой Info.plist.

Ссылка: SpeakerBox от Apple iOS - AudioUnitInitialize возвращает код ошибки 561017449

person Thien Chu    schedule 20.03.2017
comment
Нет, вы ошибаетесь, я добавил описание микрофона в свой Info.plist. - person ; 22.03.2017
comment
Хм, так странно. Если вы строите на своем реальном устройстве, вы можете проверить журнал сбоев, чтобы получить больше информации. - person Thien Chu; 29.03.2017