web-dev-qa-db-ja.com

ボリュームをミュート解除して最大化するコマンド?

コマンドラインからミュート/ミュート解除する必要があります。私はそれを行うことができることがわかりました:

amixer sset Master mute
amixer sset Master unmute

問題は、ミュート解除のコマンドが機能していないことです(このバグレポートでも説明されています: https://bugs.launchpad.net/ubuntu/+source/alsa-utils/+bug/878986

私の質問は、同じ結果を得る別の方法がありますか?

さらに、手動で音量を最小に設定してから呼び出した場合

amixer sset Master 100%

ボリュームは増加しますが、stdoutが次のように言っても最大に切り替わりません:

Simple mixer control 'Master',0
Capabilities: pvolume pswitch pswitch-joined penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 31 [100%] [0.00dB] [on]
Front Right: Playback 31 [100%] [0.00dB] [on]

誰もこれで私を助けることができますか?

5
giuspen

ターミナルで次のコマンドを試してください

amixer -c 0 set Master playback 0% mute
amixer -c 0 set Master playback 100% unmute

これにより、すべての出力が確実に制御されます。投稿されたコマンドでは、音量が100%ではない理由として、ミキサーやヘッドフォンなどのサウンド出力が同時にリリースされないことが考えられます。

5
Mark Rooney

さらに良いのは、すべてのオーディオデバイスのミュートを解除することです。音量を70%に設定します

for x in `amixer controls  | grep layback` ; do amixer cset "${x}" on ; done


for x in `amixer controls  | grep layback` ; do amixer cset "${x}" 70% ; done

上記の例では、HDMIとオプティカルはミュートされていません。

14
ThcTLo

すべての音源を取得し、名前を取得し、ミキサーでコマンドラインを作成して実行します

amixer scontrols | grep -oE "'.*'" | awk -F\' \
 '{print "amixer -c 0 set \""$2"\" unmute 100"}' | sh

すべてのオーディオデバイスのミュートを解除し、音量を最大に設定します。

素晴らしいものを持っている、マイク

4
Mike

Mark Rooneyのソリューションはうまくいきませんでしたが、すべてのチャンネルを明示的にミュート解除することでこれを回避することができました。

#!/bin/bash

for i in Master Headphone PCM Front Surround Center LFE Side; do
    amixer -c 0 set "$i" playback unmute
done &>/dev/null

チャンネル名を取得しましたが、alsamixerを実行しています。

2
Jesse Ogle

OK、最初にあなたの異なるカード番号を知る必要があります

alsamixer

f6からカードを選択し、マスターオプションがあるカード番号を書き留めます

ヘッドフォンを使用する場合は、マスターとヘッドフォンの両方を変更します

amixer -c 1 set Master toggle && amixer -c 1 set Headphone toggle

-cはカード番号を指定します。このコマンドでは1です。

1

あなたが使用しているコマンドは私にとっても機能しませんが、これらを試してみてください。彼らは私のために働いています。

amixer set Master 0
amixer set Master 100
0
per

Mark Rooneyから受け入れられた答えは、そのコマンドがエラーを出したので助けにはなりませんでした(私のサウンドカードの番号は1です):

amixer: Mixer attach hw:1 error: Invalid argument

だから私は試した

amixer set Master 100 unmute

また、現在選択されているサウンドカードで完全に機能しました。を使用してミュートすることもできます

amixer set Master 0 mute
0
user2513149