Ios 通过CallKit保持/恢复VoIP呼叫后的单向语音路径

Ios 通过CallKit保持/恢复VoIP呼叫后的单向语音路径,ios,objective-c,iphone,avaudiosession,callkit,Ios,Objective C,Iphone,Avaudiosession,Callkit,我们已经能够使用CallKit建立VoIP呼叫。但是,在此已建立的VoIP呼叫上的保持和恢复操作会导致单向语音路径问题。在我坚持并恢复之后,我能听到远处的声音。远端听不见我说话 我已经做了Wireshark的追踪,并确认在简历之后,只有单向音频。音频不会从我的设备发送到远端 因为Wireshark已经显示了这个问题,所以我检查了WebRTC代码中的媒体会话错误。我在startSend或startPlayout(发送和接收的音频单元处理)中未发现任何错误 我通过CallKit集成代码重新检查,以

我们已经能够使用CallKit建立VoIP呼叫。但是,在此已建立的VoIP呼叫上的保持和恢复操作会导致单向语音路径问题。在我坚持并恢复之后,我能听到远处的声音。远端听不见我说话

  • 我已经做了Wireshark的追踪,并确认在简历之后,只有单向音频。音频不会从我的设备发送到远端
  • 因为Wireshark已经显示了这个问题,所以我检查了WebRTC代码中的媒体会话错误。我在startSend或startPlayout(发送和接收的音频单元处理)中未发现任何错误
  • 我通过CallKit集成代码重新检查,以确认正确的序列
举行手术

  • 按应用程序界面上的保持按钮或长按呼叫套件界面上的静音按钮
  • 应用程序向CallKit请求CXSetHeldCallAction事务,保留为
  • 应用程序接收提供程序委托回拨执行此调用
  • 应用程序将呼叫挂起,然后完成PerformSeldCallAction
  • 应用程序接收提供商委托回拨会话
恢复运行

  • 按应用程序界面上的恢复按钮或CallKit界面上的保持按钮
  • 应用程序向CallKit请求CXSetHeldCallAction事务,保留状态为
  • 应用程序接收提供程序委托回拨执行此调用
  • 应用程序配置音频会话(AVAudioSessionCategoryPlayAndRecord、AVAudioSessionModeVoiceChat、preferredSampleRate:44100),然后执行此调用,但会记住要取消的调用保持
  • 应用程序接收提供者委托回调didActivateAudioSession。使用此应用程序可取消通话保持(恢复通话)。调用是存储在上述步骤中的调用
我们已经使用bugreport(无更新)提出了一项苹果罚单,并正在寻求提出一项苹果技术支持事件(苹果TSI)


希望得到一些有价值的信息。

我目前也遇到了类似的问题,但声音是双向的。你想出什么办法了吗?我知道这是一张旧票,但你找到解决办法了吗?这个问题有解决办法吗??