overflow33の日記

python 機械学習 系の記事を書いて行きたい所存

Windows 目覚まし化

PCなら目覚まし機能くらいかんたんだよね!?

どうせなら、朝から、好きなプレイリストを再生できたらいいな~。

なんなら、だんだん音量を大きくしたい。

と思いったって、やってみたのですが、手間取ったので記事にします。

 

まず、Windowsの標準機能には…目覚ましはありません!

そう。自分で作るか、人が作ったものを使うしかないのです。

 

この辺のアプリを使っても実行できそうですが、自分の好きなプレイリストとは行きません。

forest.watch.impress.co.jp

 

ざっくりと、構成を書いておくと以下のような仕組みになります。

①音楽プレイヤーの起動と再生を行うバッチファイル(.bat)を作成しておく

②タスクスケジューラで目覚ましの時間にバッチファイルが起動されるよう指定する

③スリープ(普通にやると上手くいかない)

④指定時刻になると、スリープから復帰してタスクが実行される

⑤音量を徐々に上げていく

 


ここで、いくつか難しい点をざっくり、解説します。

詳細は後ほど、記事を書く予定です。

 

①バッチファイルで操作できるプレーヤーって?

foobar2000 に Run command コンポーネントを入れる

 


②タスクスケジューラの指定方法は?

minto.tech

 


③普通にスリープしても復帰しないんだけど…?

サスペンドスリープ+自動ログインで解決

 

サスペンドスリープはこちら

overflow33.hatenablog.com

自動ログインはこちら

pc-karuma.net

もしくは、

technet.microsoft.com

レジストリで変更する場合

https://support.microsoft.com/ja-jp/help/324737/how-to-turn-on-automatic-logon-in-windows

 


④再生ってどうやるの?

foobar2000+RunCommand であれば、バッチファイルに書いておけば良い

cd /d C:\Program Files (x86)\foobar2000
start foobar2000.exe "/play"

 


⑤音量を上げる…?

foobarの音量を上げたい場合

foobar2000.exe /runcmd="Playback/Volume/Up"

 


Windowsのシステムボリュームを上げたい場合

NirCmdを使う

uwagakisimasuka.blog.fc2.com

CommandVCを使う(後の解説ではこっちを利用していますが、少々古いです。)

mosprivpro.blog.fc2.com

 


⑥徐々に音量を上げるって、バッチファイルでできるの?

→forループ+pingの待ちで実現できます。

for /l %%A in (1, 1, 9) do (
ping -n 1 -w 60000 192.168.15.1
rem ping -n 1 localhost
foobar2000.exe /runcmd="Playback/Volume/Up"
)

 


長くなったので、一端ここまで、詳しい解説は後ほど作ります(きっと)。