私はVOIPアプリケーションとCallKitを統合しています。私は着信と発信を行うことができました。CXPlayDTMFCallActionはローカルdtmfサウンドを再生しません
- ConfigureAudioSessionで
- startAudio(didActivate)以下に示すように、私は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の音が鳴ります。通話中の通話中のUI。 https://developer.apple.com/reference/callkit/cxplaydtmfcallactionから
:
は「CallKitが自動的に呼び出しを介して送信 任意の桁のため、対応するDTMF周波数を果たしているアプリが アクションを果たすの一部として桁のタイミングおよび取り扱いを管理する責任があります。 "
これは既知の問題ですか、またはcallkitがローカルのdtmfキープレス音を再生しませんか?
「ネイティブダイヤラー」は、電話アプリの[キーパッド]タブを参照しているか、ネイティブの通話UIに表示されている「キーパッド」ボタンを意味していますか? –
@StuartMはい、ネイティブの通話UIです。 – ssk