C#のコンソールでユーザーが指定したビープ音を再生する方法
C#では、Console.Beep() メソッドを使うことで、コンソールアプリケーションから簡単にビープ音を鳴らすことができます。引数なしで呼び出せば標準のビープ音が再生され、周波数(ヘルツ)と継続時間(ミリ秒)を指定すれば、ユーザーが自由にカスタマイズした音を出すことも可能です。
基本的な使い方
まずは、標準のビープ音と、周波数・継続時間を指定したビープ音を再生する基本例を見てみましょう。
コード例
using System;
public class Demo {
public static void Main(String[] args){
Console.WriteLine("標準出力ストリームを表示します...");
Console.WriteLine("Standard Output Stream = " + Console.Out);
Console.WriteLine("コンソールからビープ音を再生します");
Console.Beep();
Console.WriteLine("周波数1000Hz、継続時間500ミリ秒でビープ音を再生します");
Console.Beep(1000, 500);
}
}実行結果
このプログラムを実行すると、次のような出力が得られます。
標準出力ストリームを表示します... Standard Output Stream = System.IO.TextWriter+SyncTextWriter コンソールからビープ音を再生します 周波数1000Hz、継続時間500ミリ秒でビープ音を再生します
実行中に、まず標準のビープ音が1回鳴り、その後、周波数1000ヘルツ・継続時間500ミリ秒に設定されたビープ音が1回鳴ります。
繰り返しビープ音を再生する例
次に、変数で周波数と継続時間を定義し、forループを使って複数回ビープ音を鳴らす応用例を紹介します。
コード例
using System;
public class Demo {
public static void Main(String[] args){
int freq = 1500; // 周波数(ヘルツ)
int duration = 1000; // 継続時間(ミリ秒)
Console.WriteLine("標準出力ストリームを表示します...");
Console.WriteLine("Standard Output Stream = " + Console.Out);
Console.WriteLine("コンソールからビープ音を再生します");
Console.Beep();
Console.WriteLine("周波数1000Hz、継続時間500ミリ秒でビープ音を再生します");
Console.Beep(1000, 500);
Console.WriteLine("ビープ音を10回連続で再生します...");
for (int i = 1; i < 10; i++)
Console.Beep(freq, duration);
}
}実行結果
標準出力ストリームを表示します... Standard Output Stream = System.IO.TextWriter+SyncTextWriter コンソールからビープ音を再生します 周波数1000Hz、継続時間500ミリ秒でビープ音を再生します ビープ音を10回連続で再生します...
この例では、周波数1500ヘルツ・継続時間1000ミリ秒(1秒)のビープ音がループによって繰り返し再生されます。
ポイントまとめ
- Console.Beep():引数なしで呼び出すと、システム標準のビープ音が1回再生されます。
- Console.Beep(周波数, 継続時間):第1引数に周波数(37~32767ヘルツ)、第2引数に継続時間(ミリ秒)を指定することで、独自のビープ音を再生できます。
- forループなどと組み合わせれば、任意の回数だけ音を鳴らすことも簡単に実装できます。
このように Console.Beep メソッドを活用すれば、通知音やアラートなど、コンソールアプリケーションに手軽なサウンドフィードバックを追加できます。
-
C#でコンソールのCursorSizeを変更するにはどうすればよいですか?
C#でコンソールのカーソルサイズを変更したい場合は、Console.CursorSize プロパティを使用します。このプロパティに1~100の範囲で値を設定することで、コンソール上に表示されるカーソルの高さを調整できます。サンプルコード以下は、背景色・文字色の変更と合わせて CursorSize を設定する例です。using System; class Demo { public static void Main (string[] args) { Console.BackgroundColor = ConsoleColor.
-
C#でコンソールのCursorLeftを変更するにはどうすればよいですか?
C#でコンソール画面のカーソル位置(CursorLeft)を変更したい場合は、Console.CursorLeftプロパティを使用します。このプロパティに列番号を設定することで、カーソルを指定した桁位置へ移動させることができます。サンプルコード実際の使用例を見てみましょう。以下のコードでは、まずコンソールの背景色と文字色を変更し、その後CursorLeftプロパティでカーソル位置を設定しています。using System; class Demo { public static void Main (string[] args) { &nbs