// まずソースをご覧ください[C#]
// ビープ音で和音を出す
private void start_Click(object sender, EventArgs e)
{
for (int i = 0; i < 100; i++)
{
// 1600分音符をforでまわしてドミソの和音に聞こえるようにしてみる
Play2("C", 1600);
Play2("E", 1600);
Play2("G", 1600);
}
}
protected static void Play2(string note,int lenght)
{
Dictionary<string, int> onkai = new Dictionary<string, int>();
onkai["REST"] = 0;
onkai["GbelowC"] = 196;
onkai["A"] = 220;
onkai["A_"] = 233;
onkai["B"] = 247;
onkai["C"] = 262;
onkai["C_"] = 277;
onkai["D"] = 294;
onkai["D_"] = 311;
onkai["E"] = 330;
onkai["F"] = 349;
onkai["F_"] = 370;
onkai["G"] = 392;
onkai["G_"] = 415;
//ビープ音を鳴らす
Console.Beep((int)onkai[note], 1600 / lenght);
}
このソースをコンパイルしてもうまくいきませんでした
プルルルルルルルル・・・という連続音になるだけで和音になりません><
Console.Beepを使うと必ず前後に空白が入るらしいので他の方法をさがしてみましたがお手上げです
ご教授よろしくお願いします^^;
No.1ベストアンサー
- 回答日時:
C#に関してはあまり知識がないのですが、ソースを拝見したところ実行結果としてC音とE音をG音(ドミソ)と100回なってませんか??
だとしたらプログラムの記述どおり処理されています。(和音には残念ながらなりません。)
きっとBeepはシステム依存になってしまうのでシステムの仕様などが分かればそれなりの回答も出来るのですが…。
音源の仕様が和音を出せる仕様なのであれば、きっと鳴らしたい音をためて一気にPlayするようなメソッドがあるような気がします。
遅くなってすみません。回答ありがとうございます。
Colsole.Beepだと1秒に1000回しか実行できないので理論上不可能みたいです。
そこでカーネルモードドライバで直接デバイスを叩くことにしましたが、3和音以上は厳しいでした。。。
ポイント遅くなってすみません^^;;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
java初心者の質問(3つの整数の...
-
メインが含まれていません
-
JAVA EOFの検出 (条件文で「...
-
Javaで電卓を作りたい
-
フィボナッチ数列 java
-
DataSet(DataTable)の使い方
-
iアプリでバイナリデータを16進...
-
西暦 -> 年号、年号 -> 西暦の...
-
後置インクリメントの計算過程...
-
JUnit4のアノテーションについて
-
intが負の時に投げる例外はあり...
-
式の型は配列型で int に解決済...
-
JTableのセルの背景色について
-
C++からC#のdllを参照する際、...
-
javaでカレンダー作成
-
複数のボタンを配置し、それぞ...
-
byte[]→int
-
JAVAでCの関数ポインタのような...
-
初心者ですが、今javaで簡単な...
-
classを使って座標軸を求めるコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
式の型は配列型で int に解決済...
-
「配列定数は、イニシャライザ...
-
javaでcsvファイル読込時の改行...
-
java spring でエラーが出て困...
-
javaでカレンダー作成
-
Javaで電卓を作りたい
-
SwingでJtableのヘッダ行が表示...
-
JAVA エラー 式の開始が不正で...
-
JAVAでCの関数ポインタのような...
-
C#で実行時にメソッドの返り値...
-
(Swing)JTextFieldを半角のみ入...
-
c# デリゲート関連の命名について
-
Javaでポインタ的なことはでき...
-
複数のボタンを配置し、それぞ...
-
javaのエラーの意味がわかりま...
-
JUnit4のアノテーションについて
-
sin曲線とcos曲線を描くプログ...
-
intが負の時に投げる例外はあり...
-
Java 初心者 int型の取り扱い方
-
C++からC#のdllを参照する際、...
おすすめ情報