gpt4 book ai didi

c++ - 在 Linux 上播放 mp3 声音缓冲区

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:28:17 24 4
gpt4 key购买 nike

我希望能够在 Linux 上播放我在特定端口上接收到的 mp3 音频声音缓冲区。这是一个连续的直播。我看过 pulseaudio、portaudio、mpg123 等等,但似乎不知道该怎么做。

mp3 声音是从网络上的另一台计算机接收的,并使用 naudio 和 lame 进行转换。如果我在 Windows PC 上收到声音,我可以使用 C# 中提供的 naudio dll 简单地播放它。但我不确定如何在 Linux 中绕过它。

如有任何建议,我们将不胜感激。

提前致谢

最佳答案

你看过madplay吗?

它可以从标准输入读取 MP3 数据。您可以使用一个简单的程序,甚至使用 shell 命令将从套接字读取的数据重定向到 madplay 的标准输入:

netcat <hostname> <portname> | madplay - -o wave:- | aplay

如果您在 linux 机器上使用 alsa,以上内容将起作用。

更准确地说,在我的机器上我可以执行以下操作:

  • 使用 netcat 通过 TCP 套接字流式传输 mp3 文件:

    cat ~/Music/Linkin\Park/06\Demos\,\Unreleased\\&\Other/1997\-\Xero/04\-\Stick\N\Move.mp3 | netcat -l localhost -p 8899

  • 连接到端口并使用 netcat 读取 MP3 数据并将流路由到 madplay:

    netcat 本地主机 8899 | madplay - -o wave:- |播放

关于c++ - 在 Linux 上播放 mp3 声音缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7874613/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com