時間がかかるプログラムが終了するときには音を出して教えて欲しいものです。
それなら終わるまで他の仕事ができます。
しかし、音を出すためには何か音楽ファイルを用意しなければならないのでしょうか。
いいえ。単なる合図で音を出すだけなら、音楽である必要はありません。
Console.Beep()で音はピーと出ます。
引数に周波数と長さを指定すると、音程と長さも変えられます。
引数なしは200ミリ秒間の800ヘルツの周波数なので、Console.Beep(800,200)とすれば同じ音が出ます。
もちろん、周波数を上げれば音程は高くなります。
罠の数々 §
- 【Windows Vista および WINDOWS XP の64ビット版ではサポートされていません】と書いてある。音が出ないケースもあり得るのだ。
- ボリュームが絞ってあったら意味がない
参考リンク §
Console.Beep メソッド
実は上で説明している場合の他に音が出ないケースがまだある。上記のリンクから辿って捜してみよう。ヒントは【例外】である。具体的にどんな時とどんな時だろうか。
リポジトリ §
https://github.com/autumn009/cshowto
beep §
using System;
class Program
{
static void Main()
{
Console.WriteLine("Working...");
Console.WriteLine("Done!");
Console.Beep();
Console.Beep(800,200);
for (int i = 0; i < 5; i++)
{
Console.Beep(800+i*100, 200);
}
}
}
実行結果
Working...
Done!
(音が何回か出る)