バッチファイルでデフォルトのオーディオデバイスを切り替える


22

Windows 10でバッチファイルを作成しようとしています。このバッチファイルを実行すると、ヘッドセットとスピーカーをデフォルトのオーディオデバイスとして切り替えることができます。サードパーティのソフトウェアは使いたくありません。

周りを検索してみましたがHKCU:\Software\Microsoft\Windows\CurrentVersion\Applets\Volume Control\、機能していないようで、もう存在しないように見えるパスを参照している古いスクリプトのみを見つけました。私はこれについてWindows 10のレジスタに関する情報を見つけることができません。また、自分が何をしているのかわからない場合、レジスタをいじり回すことに抵抗があります。


1
あまりにもサードパーティを使いたくないということをあきらめるなら、私はaudioswit.ch/er [はい、本当のURL]を約5年間使用しています。ホットキーも切り替え可能。[所属なし]
鉄人

回答:


33

サードパーティのソフトウェアを使用したくないことを感謝しますが、〜100kb exeを使用してもかまわない場合のオプションとして、Nircmdをコマンドで使用できます。

nircmd setdefaultsounddevice "Speakers" 1

または

nircmd setdefaultsounddevice "Headphones" 1

下にリストされているオーディオデバイスの正確な名前を使用する必要がありますPlayback Devices(システムトレイのサウンドコントロールを右クリックします)。Properties特に名前が何らかの方法で衝突する場合は、名前をより簡単な名前に変更する方が簡単かもしれません。

1コマンドが意味する「既定のデバイス」の終わりに。を使用すると、2「デフォルトの通信デバイス」を意味します。


サードパーティのツールを実際に使用したくない場合は、デフォルトのサウンドデバイスを変更すると変更されるように見えるレジストリキーの差分があります、それはあなたにとって何らかの役に立つかもしれませんが、正確には何がわからないのですかやっています。それがデフォルトであるかどうかを示すための1または0ほど単純ではないようです。

ここに画像の説明を入力してください


私から+1。これが最善の方法です。本当にnircmdをハードドライブのどこかに配置したくない場合は(それが欲しいと思うのは素晴らしいことです)、代わりに2回切り替えて、ここで言及したキーのregエクスポートを行い、正しい.regを実行しますファイル。これがうまくいくかどうかはわかりませんが、それは私の代替アプローチです。
LPChip

答えをありがとう、私は実際にnircmdにつまずきましたが、サードパーティのソフトウェアなしでそれを行う方法を見つけることに本当に興味がありました。他の方法が出ない場合は、使用を検討します。
-zerothehero

+1。レジストリへのアプローチを試みましたが、提案されたほど簡単ではありません(少なくともW10では)。NirCmdを使用するようになりました:)
MBaas

6

Windows 8(またはそれ以前?)のPCのオーディオ設定はに保存されていHKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Renderます。その下RenderにはGUID名のキーがあり、それぞれがDeviceStateルートにdword値を含んでいます。しかし、それはどのようにコーディングされていますか?

MSDNのDEVICE_STATE_XXX定数を参照してください。

  • 1アクティブ
  • 2無効
  • 4存在しない
  • 8アンプラグド

そのため、1と2を切り替えるpowershell / batスクリプトでうまくいくはずです。

編集:人間が読めるデバイス名を取得するには{b3f8fa53-0004-438e-9003-51a46e139bfc},6Propertiesサブキーの下を読んでください


A10 また、最初にそのレジストリキーのアクセス許可を取得する必要があることがわかりました(groovypost.com/howto/…を参照)
-MBaas
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.