pactl list sinks | grep '^[[:space:]]Volume:' | \
head -n $(( $SINK + 1 )) | tail -n 1 | sed -e 's,.* \([0-9][0-9]*\)%.*,\1,'
それが私が持っているものです。きれいではありませんが、私の使用には十分でした。私はそれをする方法を見つけることができませんでした。pactl
ただ一つだけのシンクのためにリスト取得の任意の手段を持っていないようですが、それらは昇順で印刷されています。使用してn番目の行を選択し、それはそうtail
とhead
。ボリュームラインには、右チャネルと左チャネルに別々のボリュームがあり、そのsed
代替は最初のボリュームのみを選択することに注意してください。
記録のpactl list sinks short
ために、アクティブなシンク番号を取得するためにを使用します。
pactl list short | grep RUNNING | sed -e 's,^\([0-9][0-9]*\)[^0-9].*,\1,'
EDIT 2017-10-05:pulseaudioの変更により、それらを少し調整する必要がありました。私が今持っているものは次のとおりです。
SINK=$( pactl list short sinks | sed -e 's,^\([0-9][0-9]*\)[^0-9].*,\1,' | head -n 1 )
NOW=$( pactl list sinks | grep '^[[:space:]]Volume:' | head -n $(( $SINK + 1 )) | tail -n 1 | sed -e 's,.* \([0-9][0-9]*\)%.*,\1,' )
私はMOD
+10または-10に設定し、いくつかの境界チェックを行い、最後に:
pactl set-sink-volume $SINK ${MOD}%
pactl list sinks
ボリュームを提供しますが、set-sink-volumeのような簡単な形式ではありません。