Android 流式音频中的延迟

Android 流式音频中的延迟,android,audio-streaming,audio-recording,android-mediaplayer,audio-player,Android,Audio Streaming,Audio Recording,Android Mediaplayer,Audio Player,我正在尝试通过服务器传输音频。我已经设置好了一切,录制和播放静态音频效果很好,但是当我尝试流式播放音频时,播放端会出现延迟。 我在谷歌上搜索了一下,但找不到正确的方法。我使用AudioRecord和Audiotrack Android媒体API发送和接收音频数据。有人能告诉我如何处理这次延误吗 我已经在上添加了代码 我试过用这种方法,将5块音频数据保存在一个通过服务器的缓冲区中&当它填充5块数据时进行回放,然后再次获得下5块音频数据,然后像这样填充到1024字节的数据(它写入音频轨道并调用pla

我正在尝试通过服务器传输音频。我已经设置好了一切,录制和播放静态音频效果很好,但是当我尝试流式播放音频时,播放端会出现延迟。

我在谷歌上搜索了一下,但找不到正确的方法。我使用AudioRecord和Audiotrack Android媒体API发送和接收音频数据。有人能告诉我如何处理这次延误吗

我已经在上添加了代码


我试过用这种方法,将5块音频数据保存在一个通过服务器的缓冲区中&当它填充5块数据时进行回放,然后再次获得下5块音频数据,然后像这样填充到1024字节的数据(它写入音频轨道并调用play方法)。这也有延迟,还有其他解决方案吗???

如果你真的想在没有缓冲的情况下播放,请确保你使用的任何播放工具都试图在没有缓冲的情况下播放。你将很难不耽搁。电视、广播等节目中没有什么是真正的“直播”——总是有一些延迟。使用internet流,您将不断发送大量数据。即使除了数据传输的时间外,所有这些数据都必须按特定顺序保存,当最终用户的计算机尝试播放时,没有人希望出现断断续续的播放。我曾让主流网络的flash播放器在处理播放时在我的计算机上保存大量缓存文件,但他们的播放器不会跳过/等待缓冲区等(如果你加载了一些东西,并注意到使用了一些100 MB的额外内存,在播放过程中可能会更多,这就是原因。)


使用VLC,你可能只需要一个非常小的缓冲区(过去的标准是30-60秒,很多玩家仍然默认为30-60秒)。我已经能够将它的缓冲区设置得很低,但它是在质量极低的流/视频上。不过我猜你的最大问题是你的播放设置了缓冲区,如果你的播放设置为60秒缓冲区,你在服务器端做什么都无关紧要……客户端会等到它有那么多的块,然后开始播放。

缓冲音频播放时会有固有的延迟,如果你想要一个不在移动设备上频繁中断的流,你必须这样做。你不能把不存在的东西放入缓冲区。那么我应该如何一次播放5块数据。。我的音频播放延迟了。你能帮我吗