我使用GameKit connection作为基础,将语音聊天添加到我的iOS应用程序中,传输延迟(通过蓝牙)似乎约为4秒,这相当于8秒才能收到对问题的回复。
虽然我不能完全确定是什么导致了如此大的延迟,但我有几个疑点。
首先,我注意到它使用了来自GKVoiceChatClient的方法voiceChatService:sendData:toParticipantID:,同时也有可用的voiceChatService:sendRealTimeData:toParticipantID:。然而,我没有看到任何明显的方法来让它使用RealTimeData版本的方法,即使我实现了它。我如何才能做到这一点,它可能会有所帮助吗?
此外,我将数据模式改为GKSendDataUnreliable,因为使用GKSendDataReliable时,我有时会听到两次相同的消息,因为应用程序可能会重新发送未经确认的比特。这消除了回声效果,但没有改善滞后。
我还能做些什么来提高实时性能?
发布于 2012-05-14 10:39:31
从那以后我就知道问题出在哪里了。要更改的相关项目为:
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
[audioSession setMode: AVAudioSessionModeVoiceChat error:NULL];VoiceChat模式使延迟大大减小,类似于我在进行手机通话时所经历的。
https://stackoverflow.com/questions/10565226
复制相似问题