端末の音声出力の変更

端末の音声出力の変更

alsamixerXonar DGXカードがあり、Analog Outputオプションに移動してStereo Headphones切り替えることでオーディオ出力を変更できますStereo Headphones FP。コマンドラインを使用して同じことをどのように実行できますか?

受信機とそれを使って切り替える方法についての情報を見つけましたがpacmd、私が理解したところ、両方の出力は同じ受信機、つまりXonarカード内にあることがわかりました。

答え1

amixerpamdまたはなど、さまざまなツールを使用してこれを行うことができると思いますpactl

メモ:あなたの家は私が物事を理解する方法でもあります。受信機は実際のサウンドカード(出力)と同じで、その出力をポートと呼びます。

このガイドの実際の定義は次のとおりです。PulseAudioの基本原理:

流し

受信機は出力装置です。サンプルを消費するアクティブユニットです。

シンクは通常、独自のイベントループを持つスレッドを実行し、接続されたシンク入力からサンプルチャンクを調べてから、それらを混合します。また、時計を実装し、遅延を維持します。残りの世界では、通常、メッセージを使用して受信者と通信します。

一般的な受信機は、サウンドカードのライン出力に接続されたヘッドセットやBluetoothヘッドセットなどの出力サウンドデバイスを表します。 PulseAudioは、検出された各出力デバイスの受信機を自動的に生成します。

はい

使用方法を示す例は次のとおりですpactl

$ pactl list sinks |& grep -E "Sink|Ports|analog-ou"
Sink #0
    Ports:
        analog-output-lineout: Line Out (priority: 9900, not available)
        analog-output-headphones: Headphones (priority: 9000, not available)
    Active Port: analog-output-lineout

Active Port:上から現在のサウンドカードライン出力を見ることができます。ヘッドフォンに変えよう

$ pactl set-sink-port 0 analog-output-headphones

もう一度確認してください。

$ pactl list sinks |& grep -E "Sink|Ports|analog-ou"
X11 connection rejected because of wrong authentication.
Sink #0
    Ports:
        analog-output-lineout: Line Out (priority: 9900, not available)
        analog-output-headphones: Headphones (priority: 9000, not available)
    Active Port: analog-output-headphones

からman pactl

   set-sink-port SINK PORT
          Set the specified sink (identified by its symbolic name or
          numerical index) to the specified port (identified by its symbolic 
          name).

オーディオデバイスが消えたらどうなりますか?

まれに、オーディオ出力デバイスがデバイスリストから奇妙に消えることがわかりました。これが発生した場合は、Pulse Audioにモジュールを再ロードするように指示することで問題を簡単に解決できます。

$ pactl load-module module-detect

引用する

答え2

pacmdコンピュータのスピーカーの音をHDMIに自動的に切り替えたことがあります。

if grep '^connected$' /sys/class/drm/card0/card0-HDMI*/status ;then             
  sleep 2
  pacmd set-card-profile 0 output:hdmi-stereo
else
  sleep 2
  pacmd set-card-profile 0 output:analog-stereo+input:analog-stereo
fi

アクティブなサウンドプロファイルを取得するには:

pacmd list |grep 'active profile'
        active profile: <output:analog-stereo+input:analog-stereo>

サポートされている利用可能なすべての出力サウンドプロファイルを一覧表示するには:

pacmd list |grep 'output:'

答え3

ここの他のすべての答えは私の問題を解決しませんでした。構成の必要な部分を変更したり、アクティブフローを移動したりしないでください。このQ&Aはかなり複雑な答えを提供します。。ただし、今日(2022年7月15日基準)は参考にしてください。Ubuntu22.04)、これはたくさん説明より簡単slmの答えまたはその他関連 アクブンツQ/A

特に答えはそこにあるここへの答えも考えてみましょう。


ただ使えます

  • pactl list short sinksそして
  • pactl list short sources

利用可能なシンクとソースのリストを取得する

(からその答え)。後で切り替えることができます。

pactl set-default-sink '<the name of the sink from the list>'

これ言及された答え2つの異なるデバイス間を切り替え/切り替えるためのスクリプトも提供されています。


持続可能な土地管理の言及amixer"、またはpamd、または"などのいくつかのツールpactl。これらはすべて他の答えで見つけることができます。以下は、使用に関するいくつかの参考資料です。

答え4

これを行うために使用できますamixer

amixer -c 0 cset name='Analog Output Playback Enum' 0

ここで、0 は-c 0カード番号を表します。最後のパラメータは次のとおりです。

0 - 'Stereo Headphones'
1 - 'Stereo Headphones FP'
2 - 'Multichannel'

関連情報