【AutoHotkey】好きなキーに音楽の再生・一時停止を割り当てるコード

2022年3月15日AutoHotkey

AutoHotkeyのアイコン

この記事では、キーに別の機能を割り当てるソフト「AutoHotkey」で、好きなキーにメディア(音楽)の再生・一時停止を割り当てる方法について書きます。

メディア操作キーがないキーボードでも、ワンクリックで音楽の再生・一時停止ができます。

【AutoHotkey】好きなキーに音楽の再生・一時停止を割り当てるコード

キーに別の機能を割り当てるソフトAutoHotkeyを使うことで、好きなキーにメディアの操作ボタン(再生・一時停止・次へ・前へ)を設定できます。Windowsの音楽プレーヤー、YouTube、Amazonプライムビデオなどのブラウザ上の動画・音楽をキーだけで操作できます。

例えば、以下のようにできます。キーは、好きなキー(単一キー、複数同時押しどちらも可能)を設定できます。

右Alt+音楽の再生・一時停止
右Alt+次へ
右Alt+前へ
右Ctrl音量アップ
右Ctrl音量ダウン
右Ctrlミュート

メディアプレーヤーの操作キーがないキーボードでも設定できます。

僕は、以前「ロジクール ワイヤレスキーボード K270」を使っていて、上部にメディア操作キーがついていました。ワンクリックで音楽の再生・一時停止、ミュート、音量アップ、音量ダウンができて便利でした。

「ロジクール ワイヤレスキーボード K270」には、メディア操作キーがついていて便利

その後、新しく購入したキーボード「REALFORCE TKL SA/R2TLSA-JP3-BK」には、メディア操作キーがついてなかったので、AutoHotkeyを使って実装してみました。AutoHotkeyだと、好きなキーの組み合わせで設定できるので便利です。メディア操作キーがあるキーボードでももちろん使えます。

参考:【高級キーボード】REALFORCE TKL SA/R2TLSA-JP3-BKを買ってみた話 | ナポリタン寿司のPC日記

特定のアプリでのみ動作させることもできます。

前提

この記事は、既にAutoHotkeyをインストールしている前提で書きます。インストールしていないという場合は、以下の記事を参考にしてみてください。キーやマウスに好きな操作を割り当てられる便利なフリーソフトです。

使い方

サンプル

まずは書き込む型を紹介します。出力元のキーの書き方が分かる方は、好きなキーに割り当ててみましょう。

メディア操作キーの一覧
再生・一時停止Media_Play_Pause
停止Media_Stop
次へMedia_Next
前へMedia_Prev
ミュートVolume_Mute
音量を上げるVolume_Up
音量を下げるVolume_Down

実際に書き込む時は、以下のような感じになります。「〇〇〇」の部分に、好きなキーを書きます。

;-----------------------------------------
;メディア操作
;-----------------------------------------

;〇〇〇でメディア再生・一時停止
〇〇〇::Media_Play_Pause
Return

;〇〇〇でメディア停止
〇〇〇::Media_Stop
Return

;〇〇〇で次へ
〇〇〇::Media_Next
Return

;〇〇〇で前へ
〇〇〇::Media_Prev
Return

;〇〇〇でミュート
〇〇〇::Volume_Mute
Return

;〇〇〇で音量アップ
〇〇〇::Volume_Up
Return

;〇〇〇で音量ダウン
〇〇〇::Volume_Down
Return

;-----------------------------------------
;メディア操作終了
;-----------------------------------------

AltやCtrlとの組み合わせの例

例を書きます。よく分からない方は、丸々コピペしてみてください。全部コピペするのではなく、自分が使いたい項目だけでOKです。例えば、音量アップ・ダウンがいらない場合は、その部分をスキップします。

;-----------------------------------------
;メディア操作
;-----------------------------------------

;右Alt+↑でメディア再生・一時停止
RAlt & Up::Media_Play_Pause
Return

;右Alt+→で次へ
RAlt & Right::Media_Next
Return

;右Alt+↓で前へ
RAlt & Down::Media_Prev
Return

;右Alt+←でミュート
RAlt & Left::Volume_Mute
Return

;右Ctrl+↑で音量アップ
RCtrl & Up::Volume_Up
Return

;右Ctrl+↓で音量ダウン
RCtrl & Down::Volume_Down
Return

;-----------------------------------------
;メディア操作終了
;-----------------------------------------

上記コードを、そのままAHKファイルに書き込みます。メモ帳、Visual Studio Codeなどを使ってみましょう。

音楽の再生・一時停止、次へ、前へなどのメディアを操作するAutoHotkeyコード Visual Studio Code

書き込めたら、AHKファイルをダブルクリックで起動します。

書き込んだAHKファイルをダブルクリックで起動する

既に起動していた場合は、タスクトレイのAutoHotkeyのアイコンを右クリック→Reload This Scriptをクリックして、リロードします。

タスクトレイのAutoHotkeyファイルを右クリック Reload This Script

これで、メディア操作キーがないキーボードでも、音楽の操作が可能になります。右Alt矢印で再生・一時停止、次へ、前へ、ミュート、右Ctrl上下の矢印で音量アップ、ダウンができます。

Ctrl上下の矢印が苦手!、次へ、前へと同じようにCtrlCtrlにしたい!」という場合は、以下のコードになります。

;右Ctrl+→で音量アップ
RCtrl & Right::Volume_Up
Return

;右Ctrl+↓で音量ダウン
RCtrl & Down::Volume_Down
Return

特定のアプリ上でのみ動作させる

僕は、APEX(PCのFPSゲーム)を、よくプレイしています。そのゲームには、試合開始まで数秒~数十秒ほど待ち時間があります。その間に、音楽やYouTubeをサブモニターで再生して楽しんでいます。

試合が始まる前に、いちいちサブモニターにマウスを動かして、音楽やYouTubeを一時停止するのがめんどくさいです。そこで、AutoHotkeyを使って、単一キーに操作ボタン(再生・一時停止)を割り当ててみます。

Alt矢印といったように、複数キーの組み合わせでもいいのですが、もっと素早く操作したいと思ったので、矢印だけの単一キーにしています。

;------------------
;Apex
;------------------
#IfWinActive ahk_exe r5apex.exe

  ;↑でメディア再生・一時停止
  Up::Media_Play_Pause
  Return

  ;↓で前へ
  Down::Media_Prev
  Return

  ;→で次へ
  Right::Media_Next
  Return

#IfWinActive
;------------------
;Apex終了
;------------------

上記コードを適用すると、「APEX(実行ファイル名は、r5apex.exe)」上のみ動作するようになります。で再生・一時停止、で前へ、で次の曲を再生します。

別のアプリを設定したい場合、「r5apex.exe」という部分を、設定したい実行ファイル名に書き換えます。以下のコードの「〇〇〇」の部分です。

;------------------
;〇〇〇
;------------------
#IfWinActive ahk_exe 〇〇〇

  ;ここにコードを書き込む

#IfWinActive
;------------------
;〇〇〇終了
;------------------

実行ファイル名は、AHKのWindow Spy機能を使うことで、簡単に調べられます。適当にAHKファイルを実行します。中身は何でもいいです。

タスクトレイのAutoHotkeyのアイコンを右クリック→Window Spyをクリックします。

タスクトレイのAutoHotkeyアイコンの右クリック→Window Spy

専用のダイアログが開くので、調べたいウィンドウをマウスでクリックします。選択すると、ダイアログ内に実行ファイル名が表示されます。

Window Spyダイアログが表示されるので、調べたいウィンドウをマウスでクリックする。

「IfWinActive」で指定する場合は、3行目の「ahk_exe 〇〇〇」という部分が必要になります。これ以外にも記述方法はあるのですが、とりあえず、3行目を使っておけば問題ないかなと思います。

また、実行ファイル名ではなく、ウィンドウタイトルの一部で判定させたい場合は、「If」コマンドを利用します。

例えば、「IfWinActive」だと、特定のウィンドウのみでしか動作しません。「r5apex.exe」と指定した場合は、「APEX」上だけで動作するということです。

下記コードを使うことで、APEXゲーム上、ブラウザでAPEX関連の動画を見ている時…といったように、ウィンドウタイトルのどこかに「APEX」が書いてあれば、動作します。

;------------------
;〇〇〇
;------------------
#If 〇〇〇_IsMyWindow()

  ;ここにコードを書き込む

#If

〇〇〇_IsMyWindow() {
  WinGetActiveTitle title
  Return InStr(title, "〇〇〇")
}

;------------------
;〇〇〇終了
;------------------

「〇〇〇」の部分に、タイトル名を入力します。「r5apex.exe」といったように、正確な実行ファイル名じゃなくてもOKです。「Twitter」なら、「If Twitter_IsMyWindow()」といったようにそのまま書きます。

予期しないところで発動する可能性があるので、初心者のうちは、「IfWinActive」がいいんじゃないかなと思います。

感想

以上、AutoHotkeyを使って、メディア操作キーがないキーボードでも音楽の再生・一時停止をする方法についてでした。

これで快適に、フルスクリーンでゲームしながらメディア操作できます。

Posted by ナポリタン寿司