我正在将 CallKit 与 VOIP 应用程序集成。我能够拨打和拨打电话。我按照以下步骤操作:
- 配置音频会话
- startAudio in (didActivate)
- stopAudio in (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 按键声音?