
昨夜、会社に携帯とタブレット、WiMAXルータを忘れて帰ってしまいました...
インターネットや電話が一晩使えないのは大したことないのですが、目覚ましにタブレットと携帯を使っていたので、目覚まし時計が無くなってしまうのが最も危機的でした。
近所に夜までやっている電気屋もなく、目覚まし時計の代わりになる道具もないので、翌朝どうやって起きようか考えました。 WiMAXルータもないので、インターネットは使えません。
手元にあるのは、インターネットに繋がらないPCのみ。
幸いなことに、PCにはVisualStudioExpressと、Rayさんのebb and flowのPVが入っていました。
そこで、とりあえず翌朝に起こしてくれるアプリを即席で作りました。
夜も遅く、インターネットを利用できないので、サンプルコードも利用できず、実用性は度外視です。
処理は以下の通り
①朝までの残り時間(分と秒)とintで定義し、Timerコンポーネントで1秒ずつカウントダウンさせる。
朝までの残り時間はソースコードへハードコーディング。
②カウントダウンで0秒になったら、ブラウザーコンポーネントへPVを読み込ませる。
(ブラウザーコンポーネント自体はPVの再生をサポートしていませんが、外部でメディアプレイヤーが自動で起動します)
合わせて、カウントダウンを残り5分へ戻す。(これでスヌーズの役割も果たせます)
③PCの音量を高めにしておき、プログラムを実行して寝る。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
int minute = 550;// 8.5H = 510m
int second = 3;
public Form1()
{
InitializeComponent();
}
private void timer1_Tick(object sender, EventArgs e)
{
if (second == 0)
{
if (minute == 0)
{
minute = 5;
webBrowser1.Navigate("file:///C:\\Users\\_\\Documents\\Visual Studio 2013\\Projects\\timer\\WindowsFormsApplication1\\bin\\Debug\\pv.mp4");
}
else
{
minute--;
second = 59;
}
}
else
{
second--;
}
txtMinute.Text = minute + "";
txtSecond.Text = second + "";
}
}
}
|
ただし、あまり多用すると、好きな音楽で朝たたき起こされ続け、その音楽を嫌いになってしまうリスクがあります...