9
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ヘッドフォンとスピーカーを瞬時に切り替える

Last updated at Posted at 2023-01-25

ゲームするときはヘッドフォン、ゴロゴロするときはスピーカー

自分のPC周りでは、オーディオの出力を瞬時に切り替えたい状況が多い。

20231121追記 : WscriptではなくPowerShellを使おう [[PowerShell]再生デバイスの「既定のデバイス」をワンアクションでトグルする](https://qiita.com/heliojack/items/1cf3cc74f180374618ce) PowerShellも考えていたんですけど,当時オーディオ関連のモジュールが見つけられなかったんですよね.いいもの見つけれました!ありがとうございます!

通常の方法だとどうするか

  • サウンド設定を開く
  • サウンドをスピーカーからヘッドフォンに切り替える
    のような作業が必要。(めんどくさい)
画像で解説 こんな感じ
=================================

サウンド設定を開く

image.png

サウンドをスピーカーからヘッドフォンに切り替える

image.png

のような作業が必要。
=================================

ワンクリックで切り替えたいよなぁ

参照URL : 既定のサウンド設定を瞬時に変えるショートカット作成法
簡潔に書いてあるのでわかる人はこっちのほうが早い

手順1 changeSoundDevice.jsを作成する。

拡張子がjsのファイルだが、JavaScriptではなく、J(ジェイ)Scriptである。
Windowsで動くSystem系のもの
なおこのJScriptはShift_JISでないと動かない。
エラーパターンの参考 : https://oshiete.goo.ne.jp/qa/8213411.html

中身は以下のようにする

js changeSoundDevice.js
var wait = function(title){
    do {
	WScript.Sleep(100);
    } while(!WshShell.AppActivate(title));
};

var WshShell =  WScript.CreateObject("WScript.Shell");
WshShell.Run("control mmsys.cpl");
wait("サウンド")
WshShell.SendKeys("{DOWN " + 
	WScript.Arguments.item(0) +
	"}%{s}{TAB 3}{ENTER}");

VSCodeだと右下の項目のどれかが文字のエンコード方法である(UTF-8とか)
そこをクリックして検索したりああだこうだすると変更できる。
image.png
メモ帳だったら名前を付けて保存時に指定できる?(できなさそうやん...)
image.png

手順2 ショートカット作成

作成したファイルを右クリックでショートカットを作る。
image.png
プロパティを開く
image.png
リンク先のぶぶんを変えるぞ
image.png

手順3 リンク先を変える

リンク先は以下のように変える。

リンク先設定方法
C:\Windows\System32\wscript.exe C:\Users\ユーザー名\Desktop\changeSoundDevice.js オーディオの番号
参考例
C:\Windows\System32\wscript.exe C:\Users\XXX\Desktop\changeSoundDevice.js 5

これは、jsファイルを wscript.exe で起動してくださいという意味
オーディオ番号は引数で、実行されるときに入れれる変数

番号はどう決まるのか?
おそらくサウンド設定のこれの順番(開き方は普通の切り替えの時と同じ)
image.png

あとは、ショートカットファイルの名前をいい感じに変更
image.png

手順4 あとはショートカットクリックするだけ

ショートカットをデスクトップとかにおいて起動するだけ
一瞬で切り替わります。

  • 注意点
    PS:新しいデバイスを接続したり解除したりしたら順番変わるから設定しなおしになるかもね。

手順5 デスクトップに行って起動もだるい、ショートカットコマンドだ

変更すべきはこの項目 : ショートカットキー(K)
いい感じに使わないキーを設定するといいと思います。(設定方法よくわからん)
自分はスピーカーをCtrl + Alt + F10
自分はヘッドフォンをCtrl + Alt + F11
としてみた。
image.png

  • 注意事項
    ショートカットキーが反映されるためには、デスクトップにショートカットのファイルがある必要がある。
    image.png

参考URL : 「ショートカット」の「ショートカットキー」とは

「スタート」メニューの階層でもいいらしいけど、自分はうまくいかなかった...

最後に

デスクトップが荒れるので、スタートメニューに置きたいが、うまくいったら誰か教えて。

9
2
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?