我使用GameKit连接作为基础在我的iOS应用程序中添加了语音聊天,并且传输延迟(通过蓝牙)似乎是大约4秒,这转换为8秒来接收问题的回复。
虽然我不完全确定导致这么大延迟的原因,但我有几个嫌疑人。
首先,我注意到它使用voiceChatService:sendData:toParticipantID:
中的GKVoiceChatClient
方法,同时还有voiceChatService:sendRealTimeData:toParticipantID:
可用。然而,即使我实现它,我也没有看到任何明显的方法来使用RealTimeData
版本的方法。我怎么能这样做,是否有可能提供帮助?
此外,我将数据模式更改为GKSendDataUnreliable
,与GKSendDataReliable
一样。我有时会听到两次同样的事情,因为应用可能会重新发送未经确认的位。这消除了类似回声的效果,但没有改善滞后。
我还能做些什么来提高实时性能?
答案 0 :(得分:0)
好吧,我已经弄明白问题是什么了。要更改的相关项目是:
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
[audioSession setMode: AVAudioSessionModeVoiceChat error:NULL];
VoiceChat
模式使滞后显着缩小,类似于我在进行手机通话时的体验。