我正在將CallKit與VOIP應用程序集成。我能夠接聽和撥打電話。我跟着步驟:CXPlayDTMFCallAction不播放本地dtmf聲音
- 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()
}
我聽不到按鍵聲音,例如,當我在nat上按數字時發生本地dtmf聲音呼叫期間的呼入用戶界面。
從https://developer.apple.com/reference/callkit/cxplaydtmfcallaction:
「CallKit自動播放用於 通過呼叫傳送的任何數字的相應的DTMF頻率該應用程序負責 管理的數字的定時和處理作爲履行 動作的一部分。 「。
這是一個已知問題還是callkit不能播放本地dtmf按鍵按下聲音?
「原生撥號程序」是指電話應用程序中的「小鍵盤」選項卡,還是指本機調用UI中顯示的「小鍵盤」按鈕? –
@StuartM是,原生通話用戶界面。 – ssk