コマンドラインでPulseAudioの入出力を切り替えるには?

コマンドラインでPulseAudioの入出力を切り替えるには?

職場では、別のオーディオ出力および入力(マイク用)デバイスとして検出されるUSBヘッドセットを頻繁に使用します。自宅では、ヘッドフォン/マイクジャック付きのラップトップ内蔵サウンドシステムに接続されている従来のアナログヘッドフォンを使用しています。

USBヘッドフォンとラップトップに内蔵されているサウンドシステムを切り替えるたびに、PulseAudioコントロールパネルを開き、デバイスを選択する必要があります。

移行のためのいくつかのコマンドラインショートカットを作成できませんか?

アップデート:CLIベースのショートカットを手動で使用するよりも興味深いアイデアが浮上しました。 USBヘッドホンの接続/接続切れ検出時に起動をトリガすることが可能だと思います。

答え1

PulseAudioにはコマンドラインインターフェイスがあります。することができます公式wiki

どの魔女ディストリビューションを使用しているかについては言及していませんが、デフォルトのパッケージマネージャを使用すると、PulseAudio CLIパッケージを簡単に検索できます。

~/.bash_profileデフォルトでは、操作を実行するコマンドを検索してから、または次のいずれかを使用して~/.bashrcエイリアスを作成します。

# cs like change source
alias cs='<command>'

答え2

コマンドラインでBluetoothデバイスを接続し、それをデフォルトのPulseAudio出力(「受信機」)に設定するには:

# List paired devices
$ echo "list devices" | bluetoothctl
...
[NEW] Device 01:23:45:67:89:AB MyDevice
...

# Connect
echo "connect 01:23:45:67:89:AB" | bluetoothctl

# List PulseAudio sinks:
$ pactl list sinks | grep 'Name: '
....
Name: bluez_sink.01_23_45_67_89_AB.a2dp_sink

# Set default to Bluetooth device
pactl set-default-sink bluez_sink.01_23_45_67_89_AB.a2dp_sink

すでに実行されているプログラムのオーディオ出力を切り替えることはできません。

関連情報