コマンドラインからWindowsの音量を変更する


19

コマンドラインからWindows XPのボリュームを変更することはできますか?


1
AutoHotkeyでこれを行うことができます。これをコンパイルしてコマンドラインから呼び出すことができます
Matthew Lock

ボリュームを設定するためのサードパーティ製ツールが必要です。私は完全に非難です。
m3nda

回答:


31

NirCmdは、それ以上のことを行うアプリケーションです。

使用例:

  • システムのボリュームを2000単位(65535のうち)増やします
    nircmd.exe changesysvolume 2000
  • システムのボリュームを5000ユニット減らします(65535のうち)
    nircmd.exe changesysvolume -5000
  • ボリュームを最高値に設定します
    nircmd.exe setsysvolume 65535
  • ミュート
    nircmd.exe mutesysvolume 1
  • ミュートを解除
    nircmd.exe mutesysvolume 0

2
標準のWindowsメソッドがあることを望んでいましたが、これは非常に便利に見えます。翌日または1日のうちに誰も1つも供給しない場合、これを受け入れます。ありがとう、ハリー。
下着2009

NirCmdは非常にクールで便利です。ヒントをありがとう。
舗装

NirCmdは、ログオンするたびにラップトップをミュートするのにも最適です。この方法では、電車の中で「ディン」という音を誤って鳴らし続けることはありません。それを指摘するのに十分.....)
RomanSt

2
これはWindows 7でも動作するようです。削除済みのいくつかの回答が以前に指摘されました。
ダニエルベック

に依存する単純化のために作成したユーザーフレンドリーなインタラクティブスクリプトがありますnircmd

8

JavaScriptファイルを作成します。

echo var oShell = new ActiveXObject("WScript.Shell"); >> volup.js<BR>
echo oShell.SendKeys(String.fromCharCode(0xAF)); >> volup.js

echo var oShell = new ActiveXObject("WScript.Shell"); >> voldown.js<BR>
echo oShell.SendKeys(String.fromCharCode(0xAE)); >> voldown.js

echo var oShell = new ActiveXObject("WScript.Shell"); >> togglemute.js<BR>
echo oShell.SendKeys(String.fromCharCode(0xAD)); >> togglemute.js

ボリュームコントロールを表示して、自分が何をしているかを確認できます。

sndvol
(or maybe sndvol32)

ボリュームを変更します。

cscript voldown.js

注:このアプローチは、使用しようとしたマシン上で確実に動作します。 これに関するSibo LinのStackOverflow質問に対するヘレンの回答は、ミューティングの信頼性が低いことを示しますが、ボリュームの変更はそれほど信頼性がない場合があります。信頼性のレベルはマシンによって異なる可能性があります。このアプローチでは、キーストローク、特に拡張メディアキーボードのボリュームコントロールキーを模倣する技術を使用しています。Windowsがこれをサポートし始めた時点では、そのようなキーボードは基本的にはあまり使用されない軽薄な機能であり、以前はカスタムドライバーでのみ利用できた機能を提供していました。このコードの洗練度が低く、既存のさまざまな(おそらく古い)ハードウェアの一部で動作する可能性が低い場合、私は驚かないでしょう。とはいえ、私自身は問題を抱えていません。

クレジット:

1つの注意点:この質問はWindows XPでタグ付けされています。これをWindows 10で試しました。これをWindows 7で使用したことがわかっています(少なくともテストするには十分です)。Windows MEの頃にこれらの強化されたキーボードに対するMicrosoftの組み込みサポートを最初に目にし始めたとき、WinXPでも勝つと思われます。そのオペレーティングシステムで実際にテストしたかどうかは思い出せません。それでも、このアプローチがうまく機能しない場合、問題のある副作用を引き起こすとは思わない。


これらのキーコードを共有してくれてありがとう!私のコンピューターには既にpythonがインストールされているので、コマンドラインでこれを使用できましたpip install SendKeys(キーストロークをエミュレートするための純粋なPythonパッケージ)。続いてpython -c "from SendKeys import playkeys; playkeys([(0xAE, True), (0xAE, False)])"、ボリュームキーを1回押して放すことをエミュレートします。(たとえば)100の異なるプレスをエミュレートする* 100には、終了後]、最終の前に挿入できます)
-ArtOfWarfare

7

これらの投稿を読み、代替手段を探したので、ボリュームを設定するために、SetVolという独自のコマンドラインユーティリティを作成することにしました。このページの他の投稿で説明されているものよりも少し簡単に機能します。コマンドプロンプトで入力する例を次に示します。

setvol 75
setvol -10
setvol +12
setvol mute
setvol unmute

他のオプションもあります。私はそれをフリーウェアとしてリリースしました。詳細についてはwww.rlatour.com/setvolにアクセスし、コピーをダウンロードしてください。

楽しい


これは素晴らしいです。このツールをありがとう!
cssyphus

ありがとう!! ただし、マイクの音量を設定するにはこれが本当に必要です。(Javaを使用していますが、JavaSoundがこれを行うことを期待していません。)追加できますか?
ステファンライヒ

素晴らしいありがとう!将来のための機能のリクエスト:戻す機能、現在のよう音量レベルをerrorlevel(私は後でそれを復元するために、現在の設定を保存することができますので)
ashleedawg

1
確かに、私はそれを行うことができます-実際、やっただけです!このプログラムはWebサイトでバージョン1.2に更新されています。変更を確認するには、ブラウザーを更新する必要がある場合があります。必要なものを提供する新しいパラメーター「レポート」があります。ウェブサイトとアプリのヘルプは、その使用方法を説明しています。メリークリスマス!
ロブ

(ashleedawgの提案に従って現在の音量レベルを返すと言うこと)
ロブ

4

Nircmdを使用してさらに簡素化する

@echo off
rem 65536 is 100%
rem device where zero is the default device
rem left and right
rem supports whole numbers only therefore throws "missing operator" error when specifying 655.36
set /a volume=%1 * 655
nircmd setvolume 0 %volume% %volume%

.batファイルとして保存し、パラメータを渡して実行します

例:sound 60音量を60%に設定します

batファイルをnircmdの横またはに配置する%windir%(またはそのフォルダーをで定義する%path%)ことを確認してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.