標準デスクトップコンピュータを考えてみてください。一対のスピーカーは、通常の3.5mmステレオジャック(AUX)を介してこのコンピュータに接続されています。今まではそんなに良くなった。
ストリームの受信をサポートするスピーカーが建物の別の部屋にありますUPnP
。
クラシックステレオジャックでサウンドを継続するようにDebianベースのシステムを設定する方法しかし、ストリーミングも可能です。 UPnP
では、両方のスピーカーに同時に電力を供給できますか?
答え1
専門家が正しく実行する方法を教えてくれるまで、私が使用したハッキングされた解決策を公開します。 :) 公正な警告です。私が持っているもののほとんどは、一生懸命働く貨物崇拝から来たものなので、従わない可能性があります。ベストプラクティスに従って、この文書を正しい用語のガイドとして頼らないでください。私のユースケースは、システムオーディオ共有を許可しないMS Teams用のソリューションを見つける必要があることです。現在の設定について説明します。
パルスオーディオがあり、設定でUPnP対応スピーカーを出力デバイスとして見つけることができるとします。唯一の問題は、オーディオを2つの異なる場所に送信することです。そうでない場合は、以下の回答が役に立たない可能性があります。
次のコマンドを使用して仮想デバイスを作成できます。
pactl load-module module-null-sink sink_name=myduplexsink
これにより、オーディオをインポートおよびエクスポートできるボックスのように機能する空の受信機が作成されます。受信者名は、いくつかの設定を設定してプログラムで設定を維持するために使用できますが、私は~/.pulse/default.pa
十分に信頼できず、まだ自動化していません。
また、デバイスを接続する仮想ケーブルのように動作する2つのループバックが必要だと思います。
pactl load-module module-loopback
pactl load-module module-loopback
ループバックに名前を付けることはできません。これを自動化するには、ループバックを作成するときにソースとシンクを指定する必要があります。
インタラクティブソリューションのために、pavucontrol
拡張パルスオーディオ設定パネルを(インストールして)開きます。これには5つのタブがあります。
- 再生:2つの場所で共有したいサウンドを生成するプログラムがここに表示されます。私のユースケースでは、
mplayer
オーディオをヌルレシーバー(マイク出力付き)とヘッドフォンに送信したいと思います。これは、作成した各ループバックの受信者を指定するタブでもあります。 - 録音:オーディオ入力が必要なプログラムが入ってくる場所です。私のユースケースではMSチームでしたが、あなたのユースケースではそうではないと思います。ただし、このタブでは各ループバックのソースも設定します。
- 出力デバイス:ここにスピーカー(すべてスピーカーが欲しい)とNull出力という空の受信機が表示されます。
- 入力デバイス:これにはマイク(存在する場合)と各「モニタ」デバイスが表示されます。各出力デバイスには、入力として使用できる「モニタ」があります。スピーカーが音楽を再生すると、スピーカーのモニターは音楽をオーディオ信号に転送します。
- 構成:今は無視する必要があります。 :P
だから私の考えであなたがしなければならないことは:
- オーディオを提供するプログラム(音楽ソフトウェアなど)を起動します。 [再生]タブで、そのショーに対応する行を見つけて空の出力に
pavucontrol
送信します。これで、分割したいオーディオを含む仮想デバイス(空の受信機)が作成されました。 - スピーカーを使用するには、再生タブで1つのループバックを設定し(ノートブックに表示されている場合は「内蔵アナログステレオ」と呼ばれます)、UPnPスピーカーを受信機として使用するための別のループバックを設定します。
- 録音タブで、両方のループバックのソースを空の出力モニターに設定します。
これで、入力オーディオをヌル受信機に供給し、それをローカルスピーカーとUPnPスピーカーの両方に向けました。これがあなたに必要なものであることを願っています。
私はそれに基づいてほとんどを一緒にハッキングしました。この投稿。タスク設定を手動で設定したら、pacmd info
使用したいオーディオデバイスの名前を使用して見つけることができることを簡単に説明します。これにより、いくつかのコマンドを追加して、pulseaudioの起動時に設定を自動的に再生成できます~/.pulse/default.pa
。まだこれを行っていないのは、多くの場合、状況によっては複数のデバイス名で認識できる奇妙なヘッドフォンセットがあるためです。これはあなたにとって問題ではないかもしれません。したがって、この場合、新しい行は~/.pulse/default.pa
次のようになります。
load-module module-null-sink sink_name=myduplexsink
load-module module-loopback source=myduplexsink.monitor sink=<device ID of your local speakers>
load-module module-loopback source=myduplexsink.monitor sink=<device ID of your UPnP speakers>
pacmd info
デバイスIDは、「[n]個の利用可能な受信機」の下の出力にリストできます。あなたの場合は、n
少なくとも3つ(2つのスピーカーと)があるかもしれませんmyduplexsink
。また、出力の上部に「デフォルトの受信機名」が表示されます。これはおそらくローカルスピーカーに対応します。オーディオ提供ソフトウェアを「null出力」として手動で指定する必要があるかもしれませんpavucontrol
。
UPnPスピーカーが録音タブに表示されているいくつかのプログラムを介して供給される場合は、はるかに簡単ですpavucontrol
。 「空の出力モニター」からオーディオをインポートするように直接指示できます。これにはループバックが必要です。ローカルスピーカーは同じ信号。