Ich bin CallKit mit VOIP App integrieren. Ich konnte ein- und ausgehende Anrufe tätigen. Ich folgte dem Schritt:CXPlayDTMFCallAction spielt nicht lokalen dtmf Sound
- ConfigureAudioSession
- startAudio in (didActivate)
- stopAudio in (didDeActivate)
I die Rückrufe für DTMF-Provider delegieren implementiert haben, wie unten gezeigt:
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()
}
Ich höre keinen Tastendruck Ton dh lokale dtmf Töne, wenn ich eine Nummer auf der NAT drücken ive während des Anrufs in der Anruf-Benutzeroberfläche.
Von https://developer.apple.com/reference/callkit/cxplaydtmfcallaction:
„CallKit automatisch spielt die entsprechenden DTMF-Frequenzen für beliebigen über einen Anruf übertragenen Ziffern Die Anwendung ist verantwortlich für Verwaltung die Zeitsteuerung und Handhabung von Ziffern als Teil der Erfüllung der Aktion. . "
Ist dies ein bekanntes Problem oder Callkit spielt nicht die lokale dtmf Taste drücken Sounds?
Mit "native Dialer" beziehen Sie sich auf die Registerkarte "Tastatur" in der Telefon-App, oder meinen Sie die Schaltfläche "Tastatur" in der nativen In-Call-UI angezeigt? –
@StuartM Ja, native In-Call-UI. – ssk