iOS企业级App添加CallKit

通过CallKit接听后,在App内部通过调用以下两个接口控制本地是否静音,但是CallKit页面的静音按钮并不会随之改变,请问官方是否可以给出解决办法。

agoraKit.enableLocalAudio()
agoraKit.muteLocalAudioStream()

由于国内CallKit被禁用的原因,我们没有做过相应的适配,可以通过调用静音的方法后收到回调,然后传给callkit进行修改,可以尝试一下,但我们没有相关的适配方案。

你好,请问怎么传给callkit去修改静音或非静音的样式吗

目前国内对于callkit的相关编程教程还比较少,推荐你到google搜索一下有没有国外开发者提供解决方案。

在尝试Google后也不能够有效的解决这个问题。我尝试用CallKit接通后,当唤起我们App之后,调用下面代码将CallKit关闭。

let endCallAction = CXEndCallAction(call: pairedUUID(of: session))
      let transaction = CXTransaction(action: endCallAction)
      controller.request(transaction) { error in
          if let error = error {
              print("endSession failed: \(error.localizedDescription)")
       }
}

此时,AgoraSDK就会触发此回调,重新初始化一次音频采集状态,所以就会导致2-3秒左右时间,听不到对方的声音。

func rtcEngine(_ engine: AgoraRtcEngineKit, localAudioStateChange state: AgoraAudioLocalState, error: AgoraAudioLocalError) {
}

针对此方案,声网有什么优化方案么。