私はmpdを使って.mpd経由で私の携帯電話(Hi-Fiに接続されている)に音楽をストリーミングしますhttp
。
しかし、これは私のmpdデータベースにある曲でのみ機能します。私はしばしばブラウザで何かを再生したいと思うし、mpd
それを介してストリーミングすることができます。
スピーカーの代わりにスピーカーpulse audio
に出力をルーティングする方法はありますか?mpd
ベストアンサー1
mpdはパルスオーディオ入力ソースを許可しないため、パルスオーディオをルーティングする直接的な方法はありません。渡すMPD。
しかし、gstreamerと少しの創造性を使用することで、達成したいことはまだ可能です。私は数年前にこれをしました。
私は書いたこのアプリグラフの「Gstreamerパイプラインスクリプト」コンポーネントを実装します。
ストリームグラフ http://tiyukquellmalz.org/sean/stream.svg
図を要約すると、次のことが起こります。
- mpdはディスクから音楽ファイルを読み取り、デコードし、
module-null-sink
パルスオーディオタイプのオーディオ出力に「再生」します。 - Adobe Flash、gnome Shellのビープ音、Webブラウザなど、コンピュータからサウンドを出力する他のプログラムも、オーディオ出力を
module-null-sink
pulseaudio(システムの基本的なオーディオ機器になる)に送信します。 - 出力には、ヌルシンクでプッシュされたオーディオを取り、マイクなどの入力デバイスのように再び「キャプチャ」できるソースが
module-null-sink
あります。.monitor
- Pulseaudioは、mpd、Webブラウザ、Pulseaudioを使用するすべてを含む、コンピュータ全体ですべてのオーディオプログラムの動的ソフトウェアミキシングを実行します。
tribblify
私はGStreamerを使用して、システム上の他のプログラムとmpdミックスオーディオを含むpulseaudioヌルシンクモニタオーディオをキャプチャし、MP3エンコーディングを実行し、それをShoutcast / icecastサーバーにストリーミングするプログラムを作成しました。tribblify
本質的に「ストリーミングソース」になります。- プログラムは、
tribblify
mpdが再生しているオーディオのタグを変更した時点を自動的に検出し、そのタグをshoutcastストリームにプッシュします。 - Icecastサーバーまたはshoutcastサーバーは同じコンピューターまたは別のコンピューターに存在し、結果をすべての接続クライアントにストリーミングできます。