web-dev-qa-db-ja.com

ミキサーでBluetoothスピーカーの音量を変更する

現在、自分で作成したキーボードショートカットを使用してコンピューターの音量を変更しています。私が使用する端末コマンドは次のとおりです。

amixer sset Master 3%+
amixer sset Master 3%-

これにより、下の図の「ビルトインオーディオアナログステロ」レベルの音量が変わります。ただし、これは、bluemanアプリを使用して接続するBluetoothデバイスの音量を制御しません。 pavucontrol>出力デバイスで、Bluetoothデバイスがスピーカーポートを使用していることがわかりますが、これは機能しません。

amixer sset Speaker 3%+
amixer: Invalid command!

enter image description here

これが重要な場合は、MATEボリュームコントロールに次のように表示されます: enter image description here

マスターボリュームをBluetoothデバイスのボリュームを変更できる「グローバル」ボリュームにするにはどうすればよいですか?

Alsamixerからの詳細情報:

Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined
  Playback channels: Mono
  Limits: Playback 0 - 87
  Mono: Playback 69 [79%] [-13.50dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 87
  Mono:
  Front Left: Playback 87 [100%] [0.00dB] [on]
  Front Right: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'Speaker',0
  Capabilities: pswitch
  Playback channels: Front Left - Front Right
  Mono:
  Front Left: Playback [on]
  Front Right: Playback [on]
Simple mixer control 'PCM',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 87
  Mono:
  Front Left: Playback 87 [100%] [0.00dB] [on]
  Front Right: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'Beep',0
  Capabilities: pvolume pswitch
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 31
  Mono:
  Front Left: Playback 0 [0%] [-34.50dB] [off]
  Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 63
  Front Left: Capture 51 [81%] [21.00dB] [off]
  Front Right: Capture 51 [81%] [21.00dB] [off]
Simple mixer control 'Auto-Mute Mode',0
  Capabilities: enum
  Items: 'Disabled' 'Speaker Only' 'Line Out+Speaker'
  Item0: 'Line Out+Speaker'
Simple mixer control 'Digital',0
  Capabilities: cvolume
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 120
  Front Left: Capture 81 [68%] [10.50dB]
  Front Right: Capture 81 [68%] [10.50dB]
Simple mixer control 'Dock Mic',0
  Capabilities: pvolume pswitch cswitch cswitch-joined cswitch-exclusive
  Capture exclusive group: 0
  Playback channels: Front Left - Front Right
  Capture channels: Mono
  Limits: Playback 0 - 31
  Mono: Capture [off]
  Front Left: Playback 0 [0%] [-34.50dB] [off]
  Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Dock Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 0 [0%] [0.00dB]
  Front Right: 0 [0%] [0.00dB]
Simple mixer control 'Headset Mic',0
  Capabilities: pvolume pswitch cswitch cswitch-joined cswitch-exclusive
  Capture exclusive group: 0
  Playback channels: Front Left - Front Right
  Capture channels: Mono
  Limits: Playback 0 - 31
  Mono: Capture [off]
  Front Left: Playback 0 [0%] [-34.50dB] [off]
  Front Right: Playback 0 [0%] [-34.50dB] [off]
Simple mixer control 'Headset Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 3 [100%] [30.00dB]
  Front Right: 3 [100%] [30.00dB]
Simple mixer control 'Internal Mic',0
  Capabilities: cswitch cswitch-joined cswitch-exclusive
  Capture exclusive group: 0
  Capture channels: Mono
  Mono: Capture [on]
Simple mixer control 'Internal Mic Boost',0
  Capabilities: volume
  Playback channels: Front Left - Front Right
  Capture channels: Front Left - Front Right
  Limits: 0 - 3
  Front Left: 3 [100%] [36.00dB]
  Front Right: 3 [100%] [36.00dB]
3
aless80

ALSAを使用してサウンドカードを駆動するが、ALSAを使用せずにBluetoothスピーカーに接続するPulseaudioを実行しています。 ALSAボリュームをamixerで設定すると、Pulseaudioはソース/シンクボリュームを認識して修正します(ALSAボリュームは変更できるため、実際には多少複雑なアルゴリズムを使用します)が、何を試しても問題はありませんBluetoothスピーカーをそのように制御できます。

したがって、Pulseaudioのボリュームを直接設定するだけです。それを行うコマンドは

pactl set-sink-volume name_of_bluetooth_speaker +3%

など。すべてのシンクの名前を確認できます

pacmd list-sinks | grep name:

angular括弧なしの名前を使用します。「マスター」ボリュームはありません。

スクリプトを使用することもできます これのように これはアクティブなシンクを検出し、それらのボリュームを変更します。

6
dirkt