KDE Plasmaでキーボードを介したオーディオ出力の切り替え

KDE Plasmaでキーボードを介したオーディオ出力の切り替え

キーボード操作でオーディオ出力デバイス(内蔵スピーカー/ヘッドフォンをBluetoothスピーカーなど)に切り替える方法が必要です(通常は検索して探して、メガネを鼻に当てることなく行うことができます)。

プラズマトレイ要素はショートカットを使用して有効にすることができ、キーボードを介してBluetoothデバイス間の接続、切断、切り替えが可能です。ドロップダウンメニューが表示されたら、矢印キーを使用して選択し、Enterキーを押して有効にするだけです。

ここに画像の説明を入力してください。

ここに画像の説明を入力してください。

しかし、オーディオデバイス自体を切り替えようとすると、動作しません。ショートカットを使用してオーディオボリュームトレイ要素を開くことができます。

ここに画像の説明を入力してください。

ただし、キーボードとの追加のやり取りはボリュームレベルに制限されます。

というウィジェットがあります。オーディオデバイススイッチャーこれによりオプションが先頭に表示されますが、ショートカットは何もしません。全体的に、キーボードの相互作用が不足しています。

私が望む最も近いのは、最初の方法でBluetoothを無効にすることです。もしこのデバイスは現在再生中のデバイスです...

答え1

バリエーション - スクリプト/ランチャーを介してこのスクリプトを実行し、ショートカットを設定できます。

まず、システムがオーディオデバイスを識別する方法である「受信機」のリストを取得する必要があります。

pactl list sinks

ある状態は「実行中」で、もう一方の状態は「一時停止」です。この印刷物の名前フィールドに注意してください。

ショートカットで実行するスクリプトはスイッチを実行します。

pactl set-default-sink SINK-NAME

受信者リストの「名前」フィールドを使用してください。すべてのオーディオ出力を指定されたデバイスに切り替えます。

受信機が2つしかないと仮定すると、次のスクリプトを実行できます。

#!/bin/bash
sink1=alsa_output.pci-0000_00_01.1.hdmi-stereo-extra1
sink2=alsa_output.usb-GeneralPlus_USB_Audio_Device-00.iec958-stereo

sink_current=`pactl get-default-sink`
case $sink_current in
  $sink1) pactl set-default-sink $sink2 ;;
  $sink2) pactl set-default-sink $sink1 ;;
  *) pactl set-default-sink $sink1 ;;
esac

プライベートディレクトリに入れてbinホットキーランチャーを追加します。

関連情報