0

我使用 GameKit 连接作为基础向我的 iOS 应用程序添加了语音聊天,传输延迟(通过蓝牙)似乎约为 4 秒,这意味着 8 秒才能收到问题的回复。

虽然我不完全确定是什么导致了如此大的延迟,但我有几个嫌疑人。

首先,我注意到它使用了一种voiceChatService:sendData:toParticipantID:来自GKVoiceChatClientwhile的方法voiceChatService:sendRealTimeData:toParticipantID:RealTimeData然而,即使我实现了它,我也没有看到任何明显的方法可以让它使用该方法的版本。我该怎么做?它可能会有所帮助吗?

此外,我将数据模式更改GKSendDataUnreliableGKSendDataReliable有时我会听到两次相同的声音,因为应用程序可能会重新发送未确认的位。这消除了类似回声的效果,但没有改善滞后。

我还能做些什么来提高实时性能?

4

1 回答 1

0

嗯,从那以后我就知道问题出在哪里了。要更改的相关项目是:

AVAudioSession *audioSession = [AVAudioSession sharedInstance];
[audioSession setMode: AVAudioSessionModeVoiceChat error:NULL];

VoiceChat模式使延迟显着减小,类似于我在手机通话时的体验。

于 2012-05-14T02:39:30.973 回答