play mp3 sound buffers on linux
我希望能够在特定端口接收的Linux上播放mp3音频声音缓冲区。这是连续不断的直播。我看过pulseaudio,portaudio,mpg123等等,但似乎不知道该怎么办。
从网络上的另一台计算机接收到mp3声音,然后使用naudio和lame对其进行转换。如果我在Windows PC上收到声音,则可以使用C#中的naudio提供的dll来播放它。但是我不确定如何在Linux中解决它。
任何建议将不胜感激。
预先感谢,
您看过
- http://www.underbit.com/products/mad/
- http://alcor.concordia.ca/manpages/sys1/madplay.1.html
它可以从标准输入读取MP3数据。您可以使用简单的程序甚至使用shell命令将从套接字读取的数据重定向到madplay的标准输入:
1 | netcat <hostname> <portname> | madplay - -o wave:- | aplay |
如果您在Linux机器上使用
更准确地说,在我的机器上,我可以执行以下操作:
-
使用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 localhost 8899 | madplay - -o wave:- | aplay
您可以直接将mpg321与nc(netcat)一起使用。
-
将流发送到特定主机上的特定端口:
nc 192.168.1.55 4455 <example.mp3 -
使用nc侦听端口,并将流重定向到直接播放流的mpg321:
nc -l 4455 | mpg321 -