web-dev-qa-db-ja.com

PulseAudioで内蔵オーディオ出力とHDMIオーディオ出力の両方を有効にする方法は?

私はこの問題を何日も探し続けており、提案されたさまざまな解決策を試しましたが、成功しませんでした。

基本的に、内蔵オーディオ(出力はヘッドフォンジャックまたは内蔵スピーカーに出力されます)とHDMIを備えたラップトップを持っています。 KDEでDebian 7.5を実行しています。

以前は、ALSAのみを実行しており、HDMIで鳴るようにSkypeを構成できましたが、通話自体にはヘッドフォンを使用していました。 Pulseを使用して同様のことを実現したいのですが。

SkypeがPulseAudioに送信するときに呼び出し音と通話音声を分離するかどうかはわかりませんが、SkypeのLinuxバージョンはイベントに対して任意のスクリプトを実行できるため、次のように使用できれば幸いです。 aplayは、HDMIポートで何かを再生します。ただし、私が何をしても、常に1つの出力デバイスのみが表示されます(使用できます)。

aplay -l

 ****再生ハードウェアデバイスのリスト**** 
カード0:PCH [HDA Intel PCH]、デバイス0:ALC269VBアナログ[ALC269VBアナログ] 
サブデバイス:1 /1
サブデバイス#0:サブデバイス#0 
カード0:PCH [HDA Intel PCH]、デバイス3:HDMI 0 [HDMI 0] 
サブデバイス:1/1 
サブデバイス#0:サブデバイス#0 

aplay -L

 default 
 PulseAudioサウンドサーバーを介した再生/録音
 sysdefault:CARD = PCH 
 HDA Intel PCH、ALC269VBアナログ
デフォルトオーディオデバイス
 front:CARD = PCH、DEV = 0 
 HDA Intel PCH、ALC269VBアナログ
フロントスピーカー
 surround40:CARD = PCH、DEV = 0 
 HDA Intel PCH、ALC269VBアナログ
 4.0フロントおよびリアスピーカーへのサラウンド出力
 surround41:CARD = PCH、DEV = 0 
 HDA Intel PCH、ALC269VBアナログ
 4.1サラウンドフロント、リア、サブウーファースピーカーへの出力
 surround50:CARD = PCH、DEV = 0 
 HDA Intel PCH、ALC269VBアナログ
 5.0フロント、センター、リアスピーカーへのサラウンド出力
 surround51:CARD = PCH、DEV = 0 
 HDA Intel PCH、ALC269VBアナログ
 5.1フロント、センター、リア、サブウーファースピーカーへのサラウンド出力
 surround71:CARD = PCH 、DEV = 0 
 HDA Intel PCH、ALC269VBアナログ
 7.1フロント、センター、サイド、リア、Wooferへのサラウンド出力スピーカー
 hdmi:CARD = PCH、DEV = 0 
 HDA Intel PCH、HDMI 0 
 HDMIオーディオ出力

Hdmiデバイスを直接使用しようとすると、次のエラーが発生します。

 $ aplay -D hdmi alert.wav 
 WAVE 'alert.wav'の再生:16ビットリトルエンディアンの署名、レート22050 Hz、モノラル
 aplay:set_params:1087:チャンネル数利用不可

pavucontrolの[構成]タブに、[Profile]ドロップダウンと次のオプションが表示されます。

アナログステレオデュプレックス
アナログステレオ出力
アナログステレオ(HDMI)出力+アナログステレオ入力
アナログステレオ(HDMI)出力
アナログステレオ入力
オフ

私の知る限り、これらはすべて(おそらく)期待どおりに機能します。HDMIはオーディオ出力をHDMIポートに転送するというものです。他は内蔵オーディオカードに。どちらを選択しても、常に[出力デバイス]タブに1つの出力デバイスしか表示されません。

/etc/Pulse/default.paload-module module-alsa-sink device=hw:0,0を使用して、組み込みデバイスまたはHDMIデバイスをload-module module-alsa-sink device=hw:0,3に追加しようとしました-これらは効果がないか、pulseaudioにプロファイルがまったく表示されないようです。

17
thon

ArchLinux wikiの説明 のおかげで、これを正確に構成することができました。

一方のシンク-HDMI-をpavucontrol/Configurationに設定し、もう一方のシンク-アナログ出力-default.paで指定します。

load-module module-alsa-sink device=hw:0,0
load-module module-combine-sink sink_name=combined
set-default-sink combined

たぶん、最後の2行が欠けていましたか?

補遺:これは、HDMIにアナログ出力を追加するのに問題ありませんが、逆にしたい場合はどうしますか? (私はアナログ入力を維持したい、Pulseは「デュプレックス」を呼び出します...)残念ながら、load-module module-alsa-sink device=hw:0,3はHDMI出力を追加するために機能しませんでした Pulseの「アナログステレオデュプレックス」構成に変換します。パルスが開始されますが、HDMI出力はありません。

2つの状況でpacmd list-sinksの出力を比較しました。 device=hw:0,3を追加すると、ポートなしで表示されます。 pavucontrolでHDMI出力が選択された場合、ポートがあります。出力の詳細を見て、device = hdmi:0を思いつきました。

Pavucontrol構成として「Analog Stereo Duplex」を選択し、default.paに追加します。

load-module module-alsa-sink device=hdmi:0
load-module module-combine-sink sink_name=combined
set-default-sink combined

魅力のように機能します。私はマイク入力を保持しています。pavucontrol/ Outputデバイスでは、HDMIのアナログ出力のすべてのオプションがあります。

9
cato_minor