如何通过VoIP和Call Kit处理视频电话

4
我对苹果的CallKit和PushKit不太熟悉。我的应用程序使用OpenTok处理视频和音频通话。为了处理应用程序中的本机呼叫,我正在使用VOIP和CallKit。音频本机呼叫正常工作,当用户与CallKit的本机UI交互时,它转到后台,应用程序返回前台。我查看了苹果的呼叫套件扬声器文档,其中有一些意图处理程序来处理呼叫。
请问有人能给我任何有关本地处理视频和音频通话的想法吗? 提前致谢。
2个回答

0

我正在使用OpenTok做同样的事情。据我所知,你无法在锁屏界面本地处理视频通话,但是你可以使用OpenTok和CallKit进行纯音频通话。请参见this link


谢谢!我已经实现了相同的功能。语音通话可以使用,但是声音不清晰。如果可能的话,您能否与我分享您是如何做到的?您是什么时候激活通话的语音的? - Kalikanth040494
其实我没有使用CallKit,我只是在做视频,但也许是你的网络导致了画质不清晰?很难说。 - Tometoyou
我正在使用react-native-twilio-webrtc和callkeep来处理视频通话的callkit。目前它运行良好,但在iOS设备锁定时会出现问题。有没有办法在设备处于锁定状态时处理它? - Jaydeep Patel

0
CallKit有一个名为supportsVideo的属性,属于CXProviderConfiguration,还有一个名为hasVideo的属性,属于CXHandle。 这对我很有效。请查看下面的演示链接。

https://websitebeaver.com/callkit-swift-tutorial-super-easy

func setupVdeoCall() {
        let config = CXProviderConfiguration(localizedName: "My App")
        config.iconTemplateImageData = UIImagePNGRepresentation(UIImage(named: "pizza")!)
        config.ringtoneSound = "ringtone.caf"
        config.includesCallsInRecents = false;
        config.supportsVideo = true;
        let provider = CXProvider(configuration: config)
        provider.setDelegate(self, queue: nil)
        let update = CXCallUpdate()
        update.remoteHandle = CXHandle(type: .generic, value: "Pete Za")
        update.hasVideo = true
        provider.reportNewIncomingCall(with: UUID(), update: update, completion: { error in })
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接