【问题标题】:After CallKit integration video call app ends the call if power button is pressed如果按下电源按钮,CallKit 集成视频通话应用结束通话后
【发布时间】:2019-04-06 15:02:18
【问题描述】:

将 callkit 集成到视频通话应用后,在通话过程中按下电源按钮即可结束通话

以下是提供者配置:

static var providerConfiguration: CXProviderConfiguration {
    let providerConfiguration = CXProviderConfiguration(localizedName: "AppName")
    providerConfiguration.supportsVideo = true
    providerConfiguration.maximumCallsPerCallGroup = 1
    providerConfiguration.supportedHandleTypes = [.phoneNumber]
    return providerConfiguration
}

下面是CXCallUpdate报告有来电:

let update = CXCallUpdate()
update.remoteHandle = CXHandle(type: .generic, value: handle)
update.supportsDTMF = true;
update.hasVideo = hasVideo;
update.supportsGrouping = false;
update.supportsUngrouping = false;
update.supportsHolding = false;

如果我们看到 cisco webex 视频通话,还集成了 callkit,但对于视频通话,在通话进行时按下电源按钮不会结束通话。但是按下电源按钮正在结束音频通话。我在 WhatsApp 视频通话中也观察到了同样的行为。

【问题讨论】:

  • 在我的回答中,我忘了提到如果您使用耳机或扬声器打开,电源按钮不会结束通话。因此,在视频通话的情况下,当然应该打开扬声器。也许你在配置通话时没有打开它。
  • 对我来说也一样。我将 CallKit 与 WebRTC 集成。它在其他地方工作,但是当通话正在进行时,按下锁定按钮结束 CallKit 发起的通话。你找到解决办法了吗?

标签: ios swift callkit


【解决方案1】:

这是预期的行为:如果尝试对 iOS 内置手机应用程序执行相同的操作,您将获得相同的结果。

编辑

当且仅当通话通过屏幕顶部的内置扬声器进行时,电源按钮才会结束通话。在任何其他情况下(即通过耳机、蓝牙或内置扬声器播放音频)电源按钮不会结束通话。

【讨论】:

  • 另外,如果我们告诉 ios 通话套件当前通话是视频通话,它不会在按下电源按钮时结束通话。您可以通过指定“update.hasVideo = true;”来做到这一点
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多