キーボードのミュートキーを押すと、AlsaマスターチャンネルとPulseAudioマスターチャンネルの両方がミュートされ、もう一度押すとalsaマスターチャンネルのミュートが解除されるだけで、pulseaudioマスターチャンネルはミュートのままです。結果:音が出ません。どうすれば修正できますか?
キーボードのミュートキーを押すと、AlsaマスターチャンネルとPulseAudioマスターチャンネルの両方がミュートされ、もう一度押すとalsaマスターチャンネルのミュートが解除されるだけで、pulseaudioマスターチャンネルはミュートのままです。結果:音が出ません。どうすれば修正できますか?
回答:
次のコマンドを実行します:
amixer -D pulse set Master 1+ unmute
amixer -D pulse set Master 1+ toggle
しかし、はるかに単純です。
amixer -D pulse set Master Playback Switch toggle
これをホットキーとして「ミュート\ミュート解除」に設定します。ボリュームコントロールはそのままにしておくことができます。
Mint 15 Mate-自分で考え出した、私にとってはうまくいく。
amixer -D pulse set Master toggle
しましょう。Amixerは、setコマンドまたはssetコマンドに単純なミキサーコントロール名を想定しています。完全なミキサーコントロール名を受け入れた場合でも、そのような複数語の名前を引用する必要があります。playback
次のようにコマンドでオプションの修飾子を使用できますが、同様にキャプチャ機能がないamixer -D pulse set Master playback toggle
場合は不要Master
です。オプションの修飾子を使用すると、システムがサラウンドサウンドに対応している場合、コマンドを適用するチャンネルを制御することもできます。
Linux Mint Debian Edition(201204)でMATEデスクトップを実行すると、同じ問題が発生しました。
「音量を上げる」アクションは、音量をミュート解除できませんでした。問題はPulseaudioにあることがわかりましたが、パッケージmate-media-gstreamer
とmate-settings-daemon-gstreamer
デフォルトでインストールされている場所です。インストールmate-media-pulse
してmate-settings-daemon-pulse
(アンインストールmate-media-gstreamer
してmate-settings-daemon-gstreamer
)およびtadam ...「ボリュームを上げる」アクションでボリュームのミュートを再び解除することができました。
これがあなたにも役立つことを願っています!
amixer -D pulse set Master xxx
はワンショットであるか、ショートカットに手動でマッピングする必要があります。ここで提案されている解決策は、本来の方法のように見えます。
これは、pulseaudioの問題です。alsaまたはamixerのコマンドは、ミュート解除をパルスに適切に送信しません。alsaコマンドがミュート信号を送信する場合、それはトグルコマンドです(同じコマンドをミュート/ミュート解除に送信します)。
現在、pulseaudioでは、ミュートとミュート解除のコードが別々になっています!pulseaudioをアンインストールすることで問題は解決すると多くの人が報告していますが、一部の人にとっては実際には受け入れがたい答えではありません(私のように、pulseは多くのアプリに便利です)。
これを解決するには、スクリプトを作成する必要があります。
1- geditやマウスパッドなどのテキストエディターで新しい空のドキュメントを作成し、
2-このコードをドキュメントのSoruceのコードに貼り付けます:2
#!/bin/bash
#### Create ~/.pulse/mute if not exists
ls ~/.pulse/mute &> /dev/null
if [[ $? != 0 ]]
then
echo "false" > ~/.pulse/mute
fi
####Create ~/.pulse/volume if not exists
ls ~/.pulse/volume &> /dev/null
if [[ $? != 0 ]]
then
echo "65536" > ~/.pulse/volume
fi
CURVOL=`cat ~/.pulse/volume` #Reads in the current volume
MUTE=`cat ~/.pulse/mute` #Reads mute state
if [[ $1 == "increase" ]]
then
CURVOL=$(($CURVOL + 3277)) #3277 is 5% of the total volume, you can change this to suit your needs.
if [[ $CURVOL -ge 65536 ]]
then
CURVOL=65536
fi
elif [[ $1 == "decrease" ]]
then
CURVOL=$(($CURVOL - 3277))
if [[ $CURVOL -le 0 ]]
then
CURVOL=0
fi
elif [[ $1 == "mute" ]]
then
if [[ $MUTE == "false" ]]
then
pactl set-sink-mute 0 1
echo "true" > ~/.pulse/mute
exit
else
pactl set-sink-mute 0 0
echo "false" > ~/.pulse/mute
exit
fi
fi
pactl set-sink-volume 0 $CURVOL
echo $CURVOL > ~/.pulse/volume # Write the new volume to disk to be read the next time the script is run.
3-ファイルに「ボリューム」という名前を付けます(拡張子は不要)。ホームフォルダーのように、削除できる場所に置いてください。
4-ファイルを右クリックしてファイルを実行可能にし、[プロパティ]、[アクセス許可]タブの順に移動し、チェックボックスを使用して実行可能とマークすると、スクリプトが実行可能になります。実行可能ファイルとしてマークファイル
5-次に、コマンドをキーボードにリンクする必要があります。コードのコマンドは増加、減少、ミュートです。
キーボード設定に移動します-how-do-i-change-my-keyboard-shortcuts-in-xubuntu、キーボードショートカットエリアで、追加をクリックして開き、作成した「ボリューム」ファイルを開き、コマンドを追加します音量の後のコード、読み込み音量の増加、または音量ミュートなど。しかし、「/ home / username / volume mute」のようなコードファイルがある場所の場所
次に、キーを押してキーボードに割り当てます。または、キーが既に使用されて
いる場合は、ほとんどの場合、それらを見つけてコマンドを置き換えます。
主なショートカットは、おそらくXF86AudioRaiseVolume、XF86AudioLowerVolume、XF86AudioMuteと呼ばれます。ミュートが壊れているだけなので、最初にそれを変更することに集中してください。
バグ:1
XF86AudioMute
コマンドにマップされましたamixer set Master toggle
。ボリュームキーの上げ下げは、amixer
コマンドと同様にマッピングされます。
pactl set-sink-volume 0 +5%
、pactl set-sink-volume 0 -5%
などのコマンドを使用して、pactl set-sink-mute 0 toggle
音量を上げたり、下げたり、音量を切り替えたりできます。
見る:
https://bugs.launchpad.net/xfce4-volumed/+bug/883485/comments/3
xfce4-mixerにはの設定がありactive-card
、Pulseaudioに設定する必要があります。設定しないと、Alsaが使用されます。
KDEおよびkmixユーザーの場合、このスクリプトを使用すると、視覚的なフィードバックが機能します。
#! /bin/bash
DBUS=qdbus 2> /dev/null
case "$1" in
volup)
pactl set-sink-mute alsa_output.pci-0000_00_1b.0.analog-stereo 0
${DBUS} org.kde.kmix /kmix/KMixWindow/actions/increase_volume com.trolltech.Qt.QAction.trigger
;;
voldn)
pactl set-sink-mute alsa_output.pci-0000_00_1b.0.analog-stereo 0
${DBUS} org.kde.kmix /kmix/KMixWindow/actions/decrease_volume com.trolltech.Qt.QAction.trigger
;;
mute)
${DBUS} org.kde.kmix /kmix/KMixWindow/actions/mute com.trolltech.Qt.QAction.trigger
pactl set-sink-mute alsa_output.pci-0000_00_1b.0.analog-stereo $(${DBUS} org.kde.kmix /Mixers/0/Master_0 org.kde.KMix.Control.mute | sed 's/false/0/g;s/true/1/g')
;;
*)
echo "Usage: mixctl <volup|voldn|mute>" >&2
exit 1
;;
esac
exit 0
使用法:
1)〜/ bin / mixctlとして保存します
2)ボリュームアップ/ボリュームダウンおよびミュートのデフォルトのkmixキーボードショートカットをマップ解除します
3)「ボリュームアップ」、「ボリュームダウン」、「ミュート」という名前の3つの新しいカスタムキーボードショートカットを作成します
- >ショートカットタイプ:コマンド
->コマンドは〜/ bin / mixctl volup、〜/ bin / mixctl voldnおよび〜/ bin / mixctl muteをそれぞれ使用するため
XFCE 4.10にアップグレードされた複数のXubuntu 12.04マシンで同じ問題が発生しました。コマンドラインから(またはbash
スクリプトを使用して)この問題を解決する非常に簡単な方法を次に示します。
ストップギャップスクリプトを提供する以前のソリューションとは異なり、このソリューションはミュート/ミュート解除ボタンの機能を完全に復元します。
次の2つのコマンドを1回発行するだけで、問題を完全に解決できます。
$ xfconf-query --channel xfce4-mixer --property /active-card --set PlaybackInternalAudioAnalogStereoPulseAudioMixer --reset
$ xfconf-query --create --channel xfce4-keyboard-shortcuts --property /commands/custom/XF86AudioMute --type string --set 'amixer -D pulse set Master 1+ toggle'
キーボード設定を使用して、ミュートボタンを設定して、ここにあるコマンドを実行できます。このリンクに記載されている最初の方法は役に立たなかったが、2番目の方法はXFCE4に最適です$ pactl set-sink-mute 0 toggle
。マウスクリックでコマンドを実行するスクリプトまたはランチャーを作成することもできます。
参考までに、Cinnamon(およびおそらく他のgnomeベースのデスクトップ)のようなものを使用している場合、cinnamonのサウンドアプレットは音量がミュートされていることを認識するため、user197761の上記の提案はより良いamixer -D pulse set Master Playback Switch toggle
ようです:私のじゃない。)