2011-10-24 8 views
1

私は、特定のポートで受信しているLinuxでmp3オーディオサウンドバッファを再生できるようにします。これは連続的なライブストリームです。私はpulseaudio、portaudio、mpg123を見てきましたが、何をすべきか分からないようです。Linuxでmp3サウンドバッファを再生する

mp3サウンドは、naudioとlameを使用して変換されたネットワーク上の別のコンピュータから受信されます。私はWindows PC上で音を受け取った場合、私は単純にC言語で提供されたnaudioを使ってそれを再生することができます#。しかし、私はLinuxでそれを回避する方法がわかりません。

ご意見をいただければ幸いです。事前に

おかげで、

答えて

1

あなたがmadplayで見たことがありますか?

これは、標準入力からMP3データを読み取ることができます。あなたは、単純なプログラムと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データを読み取り、ストリームをマッドプレイにルーティングします。

    netcat localhost 8899 | madplay - -o wave:- | aplay

+0

おかげで情報私はそれを調べて、私が成功するか、さらに助けが必要かどうかを知らせます。私はmp3ファイルを転送するのではなく、ちょうどバッファリングされたサウンドデータを転送しているので、ストリームバッファで動作するよう試したことがありますか? – Ali

+0

ストリームやファイルを転送する場合はそれほど重要ではありません。私が知っていることから、mp3データはヘッダ付きの "フレーム"の束であり、再生を開始するフレームは実際には問題になりません。 –

1

nc(netcat)でmpg321を直接使用することができます。

  • 特定のホスト上の特定のポートにあなたのストリームを送信します。 nc 192.168.1.55 4455 <example.mp3
  • はNCとポートを聞いて、直接ストリームを再生mpg321のにストリームをリダイレクトするための: nc -l 4455 | mpg321 -
関連する問題