这可能是一个广泛的问题。我会尽力保持范围尽可能窄。
我有一个mp3流的网址,我想以可调延迟播放流。 因此,最终的程序将有一些输入,以允许用户指定确切的延迟。现在我没有特别考虑特定的语言或库,跨平台是理想的。
对于实施,我有以下内容:
用于保存音频数据的环形缓冲区和以下指针:
loadPtr := where to store next byte
livePtr := loadPtr + 1, first byte ready from streaming
delayedPtr := livePtr + delta, where delta is a delay (default=0)
用于获取数据的TCP连接。
我试过搜索,但运气不好。特别是,
如何将连接流从TCP连接存储到环形缓冲区?
我如何使用内存缓冲区播放音频?
mp3文件,标题和数据部分的结构会影响这个缓冲区结构吗?