Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/audio/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Audio 实时音频流延迟播放_Audio_Network Programming_Buffer - Fatal编程技术网

Audio 实时音频流延迟播放

Audio 实时音频流延迟播放,audio,network-programming,buffer,Audio,Network Programming,Buffer,这可能是一个广泛的问题。我将尽最大努力使范围尽可能窄 我有一个mp3流的url,我想以可调的延迟播放该流。 因此,最终的程序将有一些输入,允许用户指定确切的延迟。现在我没有特别的语言或库,跨平台是理想的 对于实施,我有以下几点: 用于保存音频数据和以下指针的环形缓冲区: loadPtr:=存储下一个字节的位置 livePtr:=loadPtr+1,流媒体中的第一个字节已准备就绪 delayedPtr:=livePtr+delta,其中delta是延迟(默认值=0) 用于获取数据的TCP连接

这可能是一个广泛的问题。我将尽最大努力使范围尽可能窄

我有一个mp3流的url,我想以可调的延迟播放该流。 因此,最终的程序将有一些输入,允许用户指定确切的延迟。现在我没有特别的语言或库,跨平台是理想的


对于实施,我有以下几点:

用于保存音频数据和以下指针的环形缓冲区:

loadPtr:=存储下一个字节的位置

livePtr:=loadPtr+1,流媒体中的第一个字节已准备就绪

delayedPtr:=livePtr+delta,其中delta是延迟(默认值=0)

用于获取数据的TCP连接


我试过寻找,但运气不太好。特别是

  • 如何将来自TCP连接的连续流存储到环形缓冲区中

  • 我用什么从内存缓冲区播放音频

  • mp3文件的结构、标题和数据部分会影响缓冲区结构吗


  • 你解决了吗?@RonyTesler我问这个问题已经很久了,但没有,我没有解决它。如果你找到了一个解决方案,请张贴在这里,我很乐意接受它作为答案,并给你投票。但是如果这对你有帮助的话,我可以提供一些你可以研究的领域,这些领域可能会有帮助:(1)youtube.com/watch?v=uiW1D1Vc7IQ这向你展示了如何在C中播放正弦方式(视频显示的是Windows版本,但我使用跨平台SDL库使用
    SDL\u QueueAudio
    完成了此操作,只需将相关函数实现替换为SDL调用)。如果您想要相关代码的片段,可以给我发消息,我不能公开发布整个代码库。您可以这样做,并使用您能想到的任何代码添加延迟。当然,如果C/C++不是您喜欢的,SDL在其他语言中也有绑定(2)还有OpenAL。我自己也没有用过,我不知道它是否能满足你的需求,但我想它可能会。它可能比SDLDI有更高的离开曲线。你能解决它吗?@RonyTesler我问这个问题已经很久了,但我没有解决它。如果你能找到解决方案,请在这里发布,我很乐意接受但是如果这对你有帮助的话,我可能会提供一些你可以研究的领域,这些领域可能会有帮助:(1)youtube.com/watch?v=uiW1D1Vc7IQ这向你展示了如何在C中播放正弦方式(视频显示的是Windows版本,但我使用跨平台SDL库使用
    SDL\u QueueAudio
    完成了此操作,只需将相关函数实现替换为SDL调用)。如果您想要相关代码的片段,可以给我发消息,我不能公开发布整个代码库。您可以这样做,并使用您能想到的任何代码添加延迟。当然,如果C/C++不是您喜欢的,SDL在其他语言中也有绑定(2)还有OpenAL。我自己没有用过,我不知道它是否能满足你的需求,但我认为它可能会。它可能比SDL有更高的离开曲线