基本想法是创建一个应用程序,该应用程序可以记录来自一个设备的音频,并使用套接字通过 Wlan 将其发送到另一个将播放它的设备。简而言之,一个局域网语音聊天程序。
我正在使用 AudioRecord 对象从麦克风录制实时音频,然后将录制的数据读入字节数组,然后将字节数组写入 TCP 套接字。接收设备然后从套接字读取该字节数组并将其写入 AudioTrack 对象的缓冲区。
就像是
录音-->字节数组-->socket--->LAN--->socket-->字节数组-->AudioTrack
使用 while 循环重复该过程。
尽管音频在那里播放,但它在帧之间存在滞后。即当我说你好时,接收者听到He-ll--O。虽然音频是完整的,但缓冲块之间存在延迟。
据我所知,延迟是由于局域网传输延迟
我该如何改进它?我应该使用什么方法才能像在 Skype 和 gtalk 等商业在线聊天应用程序中一样流畅?