Я интегрирую CallKit с приложением VOIP. Я мог совершать входящие и исходящие звонки. Я пошел по шагу:
- ConfigureAudioSession
- startAudio в (didActivate)
- stopAudio в (didDeActivate)
Я реализовал обратные вызовы для делегата поставщика DTMF, как показано ниже:
func provider(_ provider: CXProvider, perform action: CXPlayDTMFCallAction) {
print("Provider - CXPlayDTMFCallAction")
let dtmfDigts:String = action.digits
for (index, _) in dtmfDigts.characters.enumerated() {
let dtmfDigit = dtmfDigts.utf8CString[index]
print("Processing dtmfDigit:\(dtmfDigit)" )
self.softphone.dtmf(on:dtmfDigit)
}
self.softphone.dtmfOff()
// Signal to the system that the action has been successfully performed.
action.fulfill()
}
Я не слышу звука нажатия клавиш, то есть локальных звуков dtmf, когда я нажимаю номер в собственном пользовательском интерфейсе вызова во время разговора.
Из https://developer.apple.com/reference/callkit/cxplaydtmfcallaction:
«CallKit автоматически воспроизводит соответствующие частоты DTMF для любых цифр, передаваемых во время вызова. Приложение отвечает за управление синхронизацией и обработкой цифр как часть выполнения действия».
Это известная проблема или callkit не воспроизводит локальные звуки нажатия клавиш dtmf?