我希望能夠在Linux上播放我在特定端口上收到的mp3音頻聲音緩衝區。這是一個持續的直播。我曾經看過pulseaudio,portaudio,mpg123等,但似乎無法知道該怎麼做。在Linux上播放mp3聲音緩衝區
從使用naudio和lame轉換的網絡上的另一臺計算機接收到mp3聲音。如果我在Windows PC上收到聲音,我可以使用naudio在C#中提供的dll來播放它。但我不確定如何在Linux中解決它。
任何建議將不勝感激。
由於提前,
我希望能夠在Linux上播放我在特定端口上收到的mp3音頻聲音緩衝區。這是一個持續的直播。我曾經看過pulseaudio,portaudio,mpg123等,但似乎無法知道該怎麼做。在Linux上播放mp3聲音緩衝區
從使用naudio和lame轉換的網絡上的另一臺計算機接收到mp3聲音。如果我在Windows PC上收到聲音,我可以使用naudio在C#中提供的dll來播放它。但我不確定如何在Linux中解決它。
任何建議將不勝感激。
由於提前,
你有沒有看madplay
?
它可以讀取來自標準輸入的MP3數據。你可以用一個簡單的程序重定向到madplay這樣的標準輸入您從套接字讀取數據,或者即使有shell命令:
netcat <hostname> <portname> | madplay - -o wave:- | aplay
,如果你在Linux中使用alsa
以上會工作。
更確切地說,我的機器上,我能做到以下幾點:
流通過TCP套接字MP3文件使用的netcat:
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 -l 4455 | mpg321 -
感謝信息。我會研究它,讓你知道我是否成功或需要進一步的幫助。你有沒有試過它在流緩衝區上工作,因爲我不是在傳輸mp3文件而是在其緩存的聲音數據? – Ali
如果您正在傳輸流或文件,則無關緊要。據我所知,mp3數據是一堆帶有標題的「幀」,並且從哪個幀開始播放並不重要。 – 2011-10-25 17:56:56